Eingabe aufsplitten

DocFirestorm

Grünschnabel
Hallo!

Muss für mein Studium folgendes problem lösen. Wieder einmal ein kleiner taschenrechner. Anforderung: +,-,*,/ bei Q Programm beenden, bei C letzte Zahl in einen Zwischenspeicher, bei P letzte gespeicherte Zahl aufrufen.

Jetzt habe ich mir gedacht wenn die Eingabe z.B. 5+10 kommt diese trennen wie bei php explode(...). Kann mir jemand weiterhelfen bin schon am verzweifeln mit dem Eingabe Problem

Das ganze sollte in C passieren.

Danke

DF
 
Da du in C programmierst, nehme ich mal an, daß du ein gewöhnliches null-terminiertes char Array verwendest.
Also durchlauf doch einfach dein Array Zeichen für Zeichen und trenne die Werte am Rechenzeichen auf. Diese schreibst du in ein neues Array und nimmst den Operator raus. Dann wandelst du die beiden Seiten in int, double oder float um und führst die Rechenoperation aus.
Wenn dein Rechner allerdings etwas mehr können soll wie z.B.
1+45+67
oder
4+6*4
oder
(4+2)/3
oder
(34-3)/(46+5)
usw...
Dann wird es wesentlich komplizierter, denn dann musst du dir einen kleinen Parser für dein Programm schreiben, der eine Eingabe Parst und dann nach den Gesetzen der Mathematik die Berechnung vornimmt. (Punkt vor Strich, Klammern, usw...)

Gruß Homer
 
Zurück