Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
Delphi 2007 Professional
|
Re: taschenrechner (erweiterung)
3. Jun 2009, 12:17
Na wie gesagt, wie mit dem Auge. Ich persönlich würde es so machen:
Operator suchen, der Vorrang hat und umschließende Ausdrücke auswerten
2+4*5-3 | * wird gefunden, mit Ausdrück davor/danach berechnen
2+20-3 | * / nicht gefunden, also geht es mit + - weiter
22-3
19 | kein operator übrig (Ausnahme Vorzeichen), ergo Ergebnis
Könnte man rekursiv lösen.
*****
bei 2+4*5-3 findest du "*", hast also eine Position im String, dort zerlegst Du den String und hast jetzt 2+4 und 5-3.
Im Ersten ermittelst Du die Zahl von rechts und im zweiten die Zahl von links.
Danach einfach die Zahlen mit dem Operator bearbeiten (den Du Dir irgendwo gemerkt hast).
|