![]() |
Hilfe
Hallo, ich brauche dringend hilfe. Ich soll einen Taschenrechner bauen bei dem ich unendlich zahlen eingeben kann.
Er soll addieren, Subtrahieren, Multiplizieren, Dividieren und Kommas haben können. Hat wer ne Idee? Einen Vorschlag? Hat das schon mal wer gemacht? Bin für alles offen Lg 2Kuhl4You :lol: |
AW: Hilfe
Hast du denn schon irgendwas gemacht?
Als Beispiel kannst du ja den Windows-Taschenrechner nehmen. ![]() |
AW: Hilfe
Hallo,
was Du brauchst, ist ein Formelparser. Editor und TButton aufs Form Formelparser.Formel:= Edit1.Text; Formelparser.Berechne. Den Formelparser baust Du selber, indem Du den String im Editfeld in seine einzelnen Bestandteile zerlegst, hier meistens in eine Baumstruktur. Bsp: 1+2-3 ergibt: Minus(Plus(1,2),3) Minus und Plus sind deine eigenen Funktionen. Die Hohe Kunst sind dann die Rechenregeln (* vor +) usw. Du merkst, das ist überhaupt nicht einfach. Bsp2: 1+2-3 ermittle Zahl1 und Zahl2, also 1 und 2 ermittle Rechenart, also +, addire, merke Ergebnis = 3 ermittle Zahl3 und Rechenregel, also 3 minus 3 Mit dem Ansatz bekommst Du aber die Rechenregeln nicht hin. PS: Ändere mal Deinen Titel in was sinnvolles. |
AW: Hilfe
Du verwaltest eine Liste mit in Delphi Zahlen vom Typ Double oder können die Gleitkommazahlen beliebig lang sein als BigInter.
Beim Big Integer (beliebig lange Ganzzahlen) wird die Zeichenkette direkt verarbeitet und die Zahl nicht intern gewandelt. Themen:
Zitat:
|
AW: Hilfe
Hallo,
Zitat:
Nacheinander oder alle auf einmal. Der oben erwähnte Formelparser erwartet erst mal die komplette Formel und ist entsprechend kompliziert. Wenn du immer Zahl1/Rechen-Operation/Zahl2 eingibst, wird es einfacher. |
AW: Hilfe
Zitat:
Unendlich Zahlen eingeben ist soweit ich weiß nicht möglich. Klar kann man das nicht machen was ich oben schrieb. Aber wenn man es machen würde, dürfte der Lehrer dir das nicht einmal schlecht bewerten, da er seine Aufgabenstellung einfach falsch formuliert hat. |
AW: Hilfe
Bei 'nem Taschenrechner gibt man für gewöhnlich keine Formeln ein und braucht daher auch keinen Formelparser.
Man nehme ein Edit. Gebe dort 'ne Zahl ein. Betätige einen Button für Plus oder Minus oder was auch immer. Merke sich die gewünschte Rechenoperation. Gebe im Edit eine andere Zahl ein. Betätige den Button für Gleich. Führe mit den beiden Zahlen die gewünschte Rechenoperation aus. Schreibe das so erhaltene Ergebnis ins Edit. Betätige einen Button für Plus oder Minus oder was auch immer. Merke sich die gewünschte Rechenoperation. Gebe im Edit eine andere Zahl ein. Betätige den Button für Gleich. Führe mit den beiden Zahlen die gewünschte Rechenoperation aus. Schreibe das so erhaltene Ergebnis ins Edit. ... Wenn man nachvollziehen können möchte, was da so eingeben bzw. geklickt wurde, schreibe man das eben bei jedem Buttonklick in ein Memo. Ansonsten mal bei ![]() Oder nur hier im Forum gesucht mit ![]() |
AW: Hilfe
Hausaufgaben sind echt schlimm. Aber ich würde DieDollys Weg wählen. Eventuell noch die Begründung um fehlende Testbarkeit erweitern.
Sherlock |
AW: Hilfe
@Sherlock,DieDolly: Ich würde jetzt nicht unbedingt davon ausgehen, dass der Lehrer die Aufgabenstellung so formuliert hat.
Die Chancen stehen ziemlich gut, dass 2Kuhl4You die Aufgabenstellung nur (schlecht) in seinen eigenen Worten wiedergegeben hat. |
AW: Hilfe
Umso schlimmer, denn dann rackern sich hier die freiwilligen Helfer einen ab und bauen den unendlichen Taschenrechner, nur um am Ende zu hören, daß es eigentlich um eine Applikation zum Mischen von Farben ging.
An 2Kuhl4You: Bitte schreibe entweder die Aufgabenstellung ab, oder bestätige das sie so lautet, wie Eingangs beschrieben. Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz