Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » string in integer umwandeln

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
13.01.2004, 20:00 Uhr
~ben
Gast


hey leute..mein prob ist das ich nen taschenrechner für den dos modus programmieren muss.ich habe mir das so vorgestellt das ich man die rechnung eingibt mit den oprenden und das dann in einem string array gespeichert werden soll. danach sollen dann die die zahlen die noch ein sting sind als integer in einem anderen array gespeichert werden. und die operanden als sring in einem anderen array leider klappt das alle snicht so ganz.. habe das bis jetzt mit atof() probiert aber das scheitert schon vorher wenn ich das string array mit den opeatoren vergleiche um zu klären in welchem feld es gespeichert werden soll..wenn vielleicht jemand nen beseren vorschlag hätte wäre super.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.01.2004, 20:03 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also wenns ein int sein soll würde ich atoi nehmen...
an sonten kann dir eventuell sscanf helfen...
oder poste mal ein bisschen code und beschreib an welcher stelle dein problem auftritt...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.01.2004, 20:08 Uhr
~ben
Gast


hier der code wo der fehler immer kommt


C++:
while(i=0 < 100)
{
        
        
if (text[i] == "*","/","+","-")                        
{
    buf=text[i];                        
    buf= atof(buf);                    
             oper[j]=buf[i];                        
            j++;                                    
        }
        else
            text[i]=werte[k];
        k++;
        i++;


CPP TAGS BENUTZEN!

Bearbeitung von Pablo:




Dieser Post wurde am 13.01.2004 um 20:10 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.01.2004, 20:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


aua
if (text == "*","/","+","-") ist ja ganz übel...
wie hast du text definiert?
ist das ein chararray?
wenn ja darfst du das auf keinen fall so vergleichen...
wie sieht denn dein string genau aus den du ihm übergibst...
also was kann da alles drin stehen und wie ist text definiert?

ach so wenn du quellcode postest verwende am besten codetags damit das besser zu lesen ist...über den smilies kannst du dir die tags per mouseklick einfügen lassen...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 13.01.2004 um 20:11 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.01.2004, 20:12 Uhr
~ben
Gast


habe das so defieniert
char text[100];
oder kann man strings nicht vergleichen!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.01.2004, 20:12 Uhr
Pablo
Supertux
(Operator)


text[ i ] == "*","/","+","-" ist wie Windalf sagt, eine üble Sache, da du Adressen vergleichts und nicht Inhalt. Um den Inhalt zu vergleichen gibt es die Funktion strcmp (string.h).

strcmp(text1, text2) liefert 0, wenn der Inhalt von text1 gleich wie der von text2 ist, sonst eine Zahl ungleich 0.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.01.2004, 20:15 Uhr
Pablo
Supertux
(Operator)


Wenn du Werte (int) in Zeichenkette hast, kannst du auch int
C++:
sscanf(const char *str, const char *format, ...);
benutzen


C++:
char* x="25";
int wert;
sscanf("%d", x, &wert);


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.01.2004, 20:16 Uhr
~ben
Gast


also könnte ich bei der strcmp funktion z.b das text2 in ein char mit dem inhalt "+" eretzen und dann vergleichen?

sorry wenn ich so doof frage aber bin anfänger.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.01.2004, 20:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


strings kannst du schon vergleichen...
aber was du willst (vermute ich jedenfalls) ist ja nicht einen ganzen string zu vergleichen sondern zu gucken ob irgendwo ein +,-,* oder / drin steht...
Dir da genau weiterzuhelfen ist recht schwierig, weil man dazu genau wissen müsste wie ein string aussehen kann...
du müsstest den string quasi vorher durchparsen...
Ich glaub in der Rätselecke waren für sowas auch beispiele...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.01.2004, 20:23 Uhr
Pablo
Supertux
(Operator)



Zitat:
~ben postete
also könnte ich bei der strcmp funktion z.b das text2 in ein char mit dem inhalt "+" eretzen und dann vergleichen?

sorry wenn ich so doof frage aber bin anfänger.


ja


C++:
char* gleich="*";
char* ungleich="/";
strcmp(gleich, "*"); // liefert 0 zurück
strcmp(ungleich, "+"); // liefert etwas ungleich 0 zurück


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.01.2004 um 20:24 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: