Grundrechnungsarten-Rechner (war: Grund Rechnungs Arten Rechner)
-
ich habe einen GRA Rechner gemacht aber er kann nur mit zwei zahle rechnen.
aber ich möchte gerne einen der z.b. sowas rechnen kann:
154+978*546/21-465+41=kann mir jemand ein beispiel zeigen?
mfg spasty
-
Du könntest dir mit lexx oder ähnlichen Tools eine geeignete Grammatik zusammenbauen (denk dran - Punktrechnung vor Strichrechnung ;)) und dann rechnen.
(aber ich hab' vage in Erinnerung, daß hier schon eine Form von Ausdrucks-Parser rumschwirren müsste)
-
lies Stroustrup, dann kriegst du den rechner gleich dazugeliefert
-
eigentlich hätte ich ein quellcode erwartet als beispieloder so
also plz ein quellcode
-
Was ist genau ein GRA Rechner, wenn du mir das erklärst und vielleicht deinen alten Ouellcode dazu postes mach das dir!!
-
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