![]() |
Taschenrechner programmieren...
Hallo alle zusammen,
ich muss als Hausaufgabe einen Taschenrechner programmieren, mit den Grundrechenarten und so weiter. Das ist auch alles nicht wirklich ein Problem da ich die entsprechenden Befehle für Wurzel und Quadrieren kann. Desweiteren wollte ich den Taschenrechner wie den Windows Taschenrechner mit nur einem Eingabefeld gestalten, jedoch komm ich damit in Probleme wo ich nicht wirklich weiterkomme. Wollt euch mal fragen wie die Logik hinter dem Windows Taschenrechner ist... Ich hoffe ihr versteht mein Problem. Mfg Uplink |
Re: Taschenrechner programmieren...
:hi:
Zitat:
Wo ist denn das Problem bzw. wo kommst Du nicht weiter? Ein Edit und Buttons. Das ist die Logik vom Windows-Taschenrechner :mrgreen: |
Re: Taschenrechner programmieren...
Im Prinzip wird die aktuelle Eingabe beim Betätigen einer Funktion in eine Variable gepackt und das Edit geleert. Bei der nächsten Funktion wird die Variable mit der aktuellen Eingabe verwurstet und das zwischenergebnis in der Variablen gespeichert usw. bis auf = gedrückt wird und das Ergebnis in der Anzeige landet.
|
Re: Taschenrechner programmieren...
Ok ich versuch mich nochmal ^^.
Wenn ich jetz mit Hilfe der Buttons von mir aus 123+123+123 eingebe kommt halt 369 raus, sollte logisch sein :D Jetzt wollt ich wissen wie ich das halt zu berwerkstelligen habe, weil die Operation ja schon vor der Eingabe des zweiten Summanden aufgerufen wird. Also wenn ich jetzt x + y rechnen würde , würde ich beim Klick auf den "+" Button ja erst das x gegeben haben und nich x und y. Theoretisch müsste ich irgendwie die Additions-Prozedure anhalten und ihr sagen sie soll solange warten bis y auch verfügbar ist, nur weiß ich nicht wie ich das machen soll :?: :?: :?: |
Re: Taschenrechner programmieren...
@ Phoenix woher weiß dann der Taschenrechner das mal und durch vor plus und minus kommen?
|
Re: Taschenrechner programmieren...
zahl ins edit dann taste drücken dann wird edit leer 2 zahl [...] rechnen dücken und im edit steht das ergebnis
wo is das prob? |
Re: Taschenrechner programmieren...
Das musst Du ihm beibringen :)
Klassische Fallunterscheidung. |
Re: Taschenrechner programmieren...
:hi:
Dann würde ich an deiner Stelle, die '+'-Funktion nicht mit dem Klick auf den '+'-Button ausführen, sondern erst beim Drücken der '='-Taste. Bei der '='-Taste dann den String durchgehen und nach Operationen schauen, diese dann ausführen. Stichwort parsen könnte behilflich sein :) edit[roter Kasten]: Zitat:
|
Re: Taschenrechner programmieren...
ok ganz einfach edit1.text musch ner variable zuweisen dann drückst du n button der sagt was passieren soll also z.b. +
das merken wir uns auch in ner variable und dann merken wir uns auch das nächste was im edit steht nachdem wir es beim auf den button drücken leer gemacht haben dann drücken wir den button rechnen und 1.var +2.var [...] werden gerechnet und dem edit übergeben eigtl. ganz simple |
Re: Taschenrechner programmieren...
Ja naja ich meine, wenn mein Taschenrechne mehrere Operationen rechnen kann, dann kann er auch nur eine rechnen ;)
Ich würde es halt auch gerne bevorzugen, wenn halt nach jeder Operation das entsprechende Zwischenergebnis kommt. Ich weiß aber nicht wirklich wie ich das programmieren soll, hab wahrscheinlich ne Denkblockade oder so :D @ passy: wie kann man denn nach deinem Schema das hier rechnen: 123+123*123, ohne das man irgendwie zwischendurch auf rechnen klickt sondern halt erst am Ende. |
Re: Taschenrechner programmieren...
Das der Windows-Taschenrechner nicht weiß das punktrechnung vor Strichrechnung kommt halt ich für ein Gerücht, gib mal 9+81/9 ein ohne Klammern und sonstiges. Bei mir kommt da 18 raus...
|
Re: Taschenrechner programmieren...
:hi:
Das kommt auf den Modus an. Im Standard-Modus (Davon bin ich ausgegangen) kennt er das nicht. Im wissenschaftlichen Modus, kennt er die Regeln. Modus wechseln ist im Menupunkt 'Ansicht'. |
Re: Taschenrechner programmieren...
Mhh ganz ehrlich ich finde den Taschenrechner von Windows besch*****
Viel sinnvoller fände ich ein zusätzliches Editfenster, indem dir deine aktuelle Rechnung angezeigt wird. Wenn ich mit dem Windows Taschenrechner rechnen müsste würde ich bei komplizierten Rechnungen verzweifeln, da mir da der Überblick fehlt. Am sinnvollsten halte ich einfach nur ein Editfenster, wo der Endbenutzer seine Rechnung per Tastatur eintippt und noch ein Button, wo rechnene draufsteht, und ein Label, wo das ergebnis angezeigt wird. Dann machst du noch nen Button mit HIlfe und wenn ma da draufklickt, öffnet sich ein dialogfeld indem die Befehle für Wurzel und Quadrat stehen. Die Herausforderung für dich besteht dann darin den string so zu parsen, dass du damit rechnen kannst, wie man das realisieren kann weiß ich noch nicht, müsste man überlegen, aber iich finde es sinnvoller, also 12 verschiedene Button und ein Label |
Re: Taschenrechner programmieren...
Zitat:
Evtl. könnte man auch beide Möglichkeiten anbieten. Und was den Parser angeht, so gibt es davon auch ein paar hier im Forum... :wink: |
Re: Taschenrechner programmieren...
Ok ich werd mal unter parsen nachgucken. Das Eingeben des Terms muss über Tasten gehen, so will es die Aufgabenstellung :( aber ich hab mir gedacht, dass man das auch noch per Tastatur machen kann, was ja nicht so schwer is...
Achso und ja ick bin in der Wissenschaftlichen Einstellung des Win-Rechner ^^ Mfg Uplink |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 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-2025 by Thomas Breitkreuz