AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Taschenrechner programmieren...

Ein Thema von uplink · begonnen am 4. Mär 2007 · letzter Beitrag vom 5. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2   
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#1

Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:15
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
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:17


Zitat von uplink:
Ich hoffe ihr versteht mein Problem.
Ehrlich gesagt: nein

Wo ist denn das Problem bzw. wo kommst Du nicht weiter?

Ein Edit und Buttons. Das ist die Logik vom Windows-Taschenrechner
mfg zecke
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.605 Beiträge
 
#3

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:20
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#4

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:22
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
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
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#5

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:23
@ Phoenix woher weiß dann der Taschenrechner das mal und durch vor plus und minus kommen?
  Mit Zitat antworten Zitat
passsy

Registriert seit: 1. Jan 2007
124 Beiträge
 
#6

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:26
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?
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.605 Beiträge
 
#7

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:27
Das musst Du ihm beibringen

Klassische Fallunterscheidung.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:27


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 von uplink:
@ Phoenix woher weiß dann der Taschenrechner das mal und durch vor plus und minus kommen?
Das weiß er auch nicht und es interessiert ihn auch nicht, weil der Windowstaschenrechner Eingabe für Eingabe rechnet. Dafür muss man dann Klammern setzen. Du möchtest, so wie ich es verstanden, erst am Ende einer Eingabe ausrechnen, also mehrere Terme eingeben.
mfg zecke
  Mit Zitat antworten Zitat
passsy

Registriert seit: 1. Jan 2007
124 Beiträge
 
#9

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:30
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
Pascal
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#10

Re: Taschenrechner programmieren...

  Alt 4. Mär 2007, 17:30
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

@ 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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
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