Taschenrechner in Borland C++ Builder

diviner

Mitglied
Hallo an alle! :)

Ich bin gerade dabei ein Windows-Taschenrechner in C++ zu programmieren (unter Borland C++ Builder).

Leider stehe ich völlig auf dem Schlauch, wie man es anstellt. :confused:

Die Oberfläche habe ich soweit fertig, aber jetzt geht es um die eigentliche Programmierung.

Ich habe die Tasten 0-9, +, -, *, /, und % (modulo), außerdem habe ich ein Edit-Feld und ein weiteres Edit-Feld für das Ergebnis. Dazu zwei Tasten... Berechnen & Beenden.

Meine Frage ist jetzt, wie man das z.B. mit den Rechenoperationen anstellt

Das Programm soll so arbeiten wie der Taschenrechner in Windows, also wenn der Anwender z.B. die Zahl eingibt und dann auf die gewünschte Rechenoperation klickt, daß es das Programm registriert und dann die nächste Zahl eingegeben werden kann.

Das soll auch mit mehreren Zahlen möglich sein bis der User auf Berechnen klickt.

Wäre sehr dankbar, wenn mir jemand helfen könnte.

Gruß
diviner :)
 
Hallo an alle! :)

Ich bin gerade dabei ein Windows-Taschenrechner in C++ zu programmieren (unter Borland C++ Builder).

Leider stehe ich völlig auf dem Schlauch, wie man es anstellt. :confused:

Die Oberfläche habe ich soweit fertig, aber jetzt geht es um die eigentliche Programmierung.

Ich habe die Tasten 0-9, +, -, *, /, und % (modulo), außerdem habe ich ein Edit-Feld und ein weiteres Edit-Feld für das Ergebnis. Dazu zwei Tasten... Berechnen & Beenden.

Meine Frage ist jetzt, wie man das z.B. mit den Rechenoperationen anstellt

Das Programm soll so arbeiten wie der Taschenrechner in Windows, also wenn der Anwender z.B. die Zahl eingibt und dann auf die gewünschte Rechenoperation klickt, daß es das Programm registriert und dann die nächste Zahl eingegeben werden kann.

Das soll auch mit mehreren Zahlen möglich sein bis der User auf Berechnen klickt.

Wäre sehr dankbar, wenn mir jemand helfen könnte.

Gruß
diviner :)
 
hmm, wo liegt nun genau dein Problem, beim Programmierteil oder beim "Logikteil"?

Und noch ne Frage soll, soll man nun auch eintippen können: 5+3 *4

oder soll nach jedem Rechenzeichen gleich eine Berechnung stattfinden? Ne, oder? Du hast ja nen extra Button "berechen", aber ich wollts nur nochmal sicher wissen!

mfg killsmaker
 
Hallo killsmaker :)

Schon mal danke für deine Antwort! :)

Naja, weiß nicht genau, ob es Logik oder Programmierung ist. *g*

Ich weiß einfach nicht, wie man es macht. :confused:

Jedenfalls soll die Berechnung stattfinden, wenn der User auf den Button Berechnen clickt. (für Anregungen zur Verbesserung bin ich natürlich offen)

Eigentlich soll die Berechnung der vorher eingegeben Zahlen auch dann stattfinden, wenn der User eine weitere Rechenoperation anklickt. Der Button Berechnen stellt in jedem Fall das = (Gleichheitszeichen) dar.

Ich bedanke mich schon mal bei dir und hoffe, daß du mir paar Tips geben kannst.

MfG :)
diviner
 
Hallo, also da der Taschenrechner komplett mit Buttons gesteuert werden soll, müssen alle Operationen in den EventHandlern erfolgen (OnButtonClick()). Generell musst du für eine einfache Form des Rechners erst einmal 3 Zahlenregister erzeugen, [int x,y,z;] die Eingabe erfolgt dann in ein Editfeld, wenn z.B der Wert "18" drin steht und man auf "+" klickt wird dieser Wert im Register x zwischengespeichert und das Edit-Feld gelöscht. Nun kann ein zweiter Wert eingegeben werden (z.B. 6) der dann im y Register zwischengespeichert wird. Klickt man nun auf "=", so wird intern gerechnet (x+y=z), dann x und y gelöscht und z in das Editfeld ausgegeben und "z" ebenfalls wieder gelöscht (die Register immer löschen ;-) sonst gibts durcheinander) ;-]
 
Hallo liebe com.

ich habe keine Ahnung, ob ich diesen Fred aus den tiefen des Archivs wieder herauskramen darf, jedoch passt der so schön zu meinem Problem, denn ich mache ebenso einen Calc mit Borland C++ 5. Da ich auch ein newbie in punkto Programmierung bin, stehe ich vor folgendem Problem:

Ich habe ebenso wie oben Operanden von 1-9 und die Grundrechenarten-Operatoren, alles wie beim Win Calc. Mein Schwerpunkt liegt mom darin, mehr Zahlen in das Edit zu bekommen.

Sprich wenn ich den Button 1 drücke steht da ne 1, drücke ich nun ne 2 steht da ne 2 und nicht ne 12! Wie kann ich meine Eingabe fixieren?

Danke für eure Hilfe.

LG Sam
 
Ok, ich habe es selbst herausgefunden. Da es vlt mal wieder jmd wissen will, hier die Lösung:

Edit1->Text=Edit1->Text + "1";

Also das Edit1 ist je nach der Caption des Editfeldes und die "1" ist wenn man eine Eins anhängen will. In einem Satz:

Edit1 ist die Zeichenkette plus das was man anhängen will.

LG Sam
 

Neue Beiträge

Zurück