Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Taschenrechner mit Zwischenergebnis programmieren

  Alt 15. Jun 2004, 20:47
Hallo Flo,

auf den ersten Blick glaube ich, dass es an folgendem liegt:

im else-Fall (wenn also der Stack am Anfang leer ist), schreibst du Key zweimal auf den Stack!


Delphi-Quellcode:
Anz:= 0;
       OpStack.Push(key);
       OpStack.PushObject(key,TObject(OpPosition))
Push(Key) schreibt den Operator auf den Stack.
Anschließend schreibt PushObject noch einmal Key auf den Stack und merkt sich zusätzlich die Stufe des Operators.
Damit steht aber der Operator zweimal auf dem Stack. Lösche einmal den ersten Push Call. Wenn es dann noch nicht funktioniert, guck ich mir den Rest auch noch an.

Übrigens gefällt mir der Code schon ganz gut!
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat