Grundrechnungsarten-Rechner (war: Grund Rechnungs Arten Rechner)
-
Sowas ähnliches hab ich auch gemacht. Du musst im Grunde nichts anderes machen als nach den Rechenoperatoren ( +, -, *, /) zusuchen und die Operation mit den beiden Zahlen "daneben" durchführen.
Wie kommst du jetzt an die Zahlen daneben? Ganz einfach: links ist alles das eine Zahl was kein Operator ist. Das gleiche gilt auch für die rechte Zahl.
Ist übrigens ein gutes Beispiel um string operationen (vergleichen, zerlegen, zusammensetzen) zu üben.
-
Chris++ schrieb:
Wie kommst du jetzt an die Zahlen daneben? Ganz einfach: links ist alles das eine Zahl was kein Operator ist. Das gleiche gilt auch für die rechte Zahl.
Was ist dann mit 3 + -4 ?

Kurt
-
Illegal.
-
hi..
hab genau das aus spaß vor einem monat oder so gemacht... allerdings ein wenig komplizierter als die idee mit dem string und dem ersezten und so... kann aber nur + - * / und hat keine klammern...trau mich nicht den code da zu posten

aber hab ihn schon mal wo gepostet
http://www.planetcoding.net/thread.php?threadid=2088ist realtiv weit unten... sollte der letzte sein...
ist ne funktion die den ausdruck "4+5/2--6" auflösen kann... also in nen float... viel spaß damit!cu Manuel
-
Michael E. schrieb:
Illegal.
Was heisst illegal. Mach das immer mit meinem taschenrechner.
Kurt
-
Schön, ist trotzdem illegal.
-
Michael E. schrieb:
Schön, ist trotzdem illegal.
Jetzt wirklich was is da illegal ? ( auch c hat nichts gegen int x = 3 +-4; )
Kurt
edit: Wenn'st die zeichen hinten dran meinst das hätte ein smiley werden sollen
-
ZuK schrieb:
Chris++ schrieb:
Wie kommst du jetzt an die Zahlen daneben? Ganz einfach: links ist alles das eine Zahl was kein Operator ist. Das gleiche gilt auch für die rechte Zahl.
Was ist dann mit 3 + -4 ?

Kurtdas ist ein spezialfall. Ich hab ihn damals extra behandelt so nach dem Motto "Kommpt links neben dem Minus noch ein Operator, dann ist es ein Vorzeichen, wenn nicht dann ist es ein Operator".
-
In "Einstieg in C++" von Arnold Willemer (ISBN: 3-89842-649-1, gutes Buch zum Einstieg!) ist ein Beispiel mit rekursiven Funktionen.
Die erste Stude ist die so genannte lexikalische Analyse. Hier werden Textelemente wie Rechenoperatoren und Zahlenkonstanten identifiziert und zu Tokens zusammengefasst.
bla bla ....
Der Rechner kommt mit der Punkt-vor-Strich-Regel klar, hat kein Problem mit Klammern und kann auch komplexe Ausrücke ausrechnen.
*.
-
ZuK schrieb:
Michael E. schrieb:
Schön, ist trotzdem illegal.
Jetzt wirklich was is da illegal ? ( auch c hat nichts gegen int x = 3 +-4; )
Tatsächlich. Hat mich aber nicht dran gehindert, es in meinem Parser als illegal zu betrachten. Ich finds auch Schwachsinn, da keine Klammer zu setzen. BTW: Was hast du fürn Taschenrechner?
-
Einen uralten TI
ich mach das so
3
+
4
+/-Kurt
-
Der setzt nicht automatisch in der Anzeige ne Klammer?
-
Michael E. schrieb:
Der setzt nicht automatisch in der Anzeige ne Klammer?
He der ist von 1977. Klammern kennt der keine.
Kurt