Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Hilfe (https://www.delphipraxis.net/200115-hilfe.html)

2Kuhl4You 21. Mär 2019 14:42

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:

lxo 21. Mär 2019 14:48

AW: Hilfe
 
Hast du denn schon irgendwas gemacht?

Als Beispiel kannst du ja den Windows-Taschenrechner nehmen.
Windows Taschenrechner

hoika 21. Mär 2019 14:49

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.

MichaelT 21. Mär 2019 14:52

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:
  • Liste mit Zahlen
  • möglw. Behandlung der Eingabe am numerischen Ziffernblock oder allgemeiner die Behandlung der Enter Taste (VK_ENTER bspw. und die Verarbeitung in den passenden Ereignisbehandlungsroutinen
  • Konvertierung und Ausgabe (passende Format - Funktion bspw.) von der Zeichenkette in eine Zahl vom Type Double und zurück
  • ...


Zitat:

Zitat von 2Kuhl4You (Beitrag 1428283)
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:


hoika 21. Mär 2019 14:58

AW: Hilfe
 
Hallo,
Zitat:

bei dem ich unendlich zahlen eingeben kann
Wie genau soll das erfolgen?
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.

DieDolly 21. Mär 2019 15:31

AW: Hilfe
 
Zitat:

Hallo, ich brauche dringend hilfe. Ich soll einen Taschenrechner bauen bei dem ich unendlich zahlen eingeben kann.
Ein richtig "kuhler move" wäre ja eigentlich, die Aufgabe als unlösbar abzugeben. Denn das ist sie auch im wahrsten Sinne. Unlösbar.
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.

Delphi.Narium 21. Mär 2019 15:34

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 Bei Google suchendelphi source taschenrechner bedient?

Oder nur hier im Forum gesucht mit delphi source taschenrechner site:delphipraxis.net?

Sherlock 21. Mär 2019 15:46

AW: Hilfe
 
Hausaufgaben sind echt schlimm. Aber ich würde DieDollys Weg wählen. Eventuell noch die Begründung um fehlende Testbarkeit erweitern.

Sherlock

Neutral General 21. Mär 2019 15:51

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.

Sherlock 21. Mär 2019 15:57

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 22:05 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz