String Inhalt addiere

M

MrCodeMaster

Hey Leute ich hab einen Taschenrechner programmiert nur habe ich jetzt ein kleines Problem. :-(

Ich kann den Inhalt zweier eines Strings nicht addieren ich poste mal den Code vlt. kann mir ja wer helfen.

Code:
ergebnis = str_aufgabe[0]) + str_aufgabe[2];

Wenn ich das mache kommt 99 raus was ASCII mäßig ja auch richtig ist. Meine Rechenoperation ist 1+2 und 1 is in ASCII 49 und 2 50 aber wie ändere ich das wieder in Dezimalzaheln um****
 
Hallo,

Ich würde die Zahlen in integer format umwandeln (strtol) und erst dann zusammenrechnen. Zum Anzeigen wieder in String umwandeln.

mfg. posi90
 
Hi

wenn es nur für einzelne Ziffern bleibt: Rechne am Anfang einfach '0' bei beiden Ziffern weg und nach dem Addieren wieder dazu. Oder einfach nach dem Addieren zweimal abziehen.

Wenn es längere Zahlen werden: sscanf doer atoi.
 
Und wie funktioniet diese Funktion.

Geht das den nicht, dass ich einfach auf den Inhalt des Strings an dieser Position zugreife?
 
DANKE für die schnelle Hilfe.

Funktioniert wunderbar :-D

Ich habs so gemacht jetzt:
Code:
ergebnis = str_aufgabe[0] - '0' + str_aufgabe[2] - '0';
 
Macht eh nichts ein bisschen muss ich selber ja auch dazu beitragen oder? :-D

DANKE nochmal
 
So jetzt hab ich noch ein Problem :-(

Wenn ich 1+2 rechne kommt 3 raus passt alles.

Aber wenn ich 10+12 rechne schreibt er ja 1 in str_aufgabe[0] und 0 in str_aufgabe[1] hinein wie soll ich das am besten machen, dass ich er das richtig rechnet?
 
Wie schon geschrieben: atoi, sscanf...

Zwischen den Zahlen ist vermutlich ein Rechenzeichen wie + - * / und so?

Hast du später auch vor, längere Rechnungen wie
(1 + 2) * 3 / (4^2)
zu verarbeiten, oder solls immer bei
Zahl Rechenzeichen Zahl
bleiben?
 
Zurück