AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Taschenrechner Ausgabe

Ein Thema von safak67 · begonnen am 5. Jun 2009 · letzter Beitrag vom 8. Jun 2009
Thema geschlossen
Seite 4 von 8   « Erste     234 56     Letzte »    
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#31

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:39
Also zuerst kommt bei mir ne Warnung
[DCC Warnung] Calculator_Main.PAS(88): W1035 Rückgabewert der Funktion 'TFormTR.BerechneTerm' könnte undefiniert sein

danach starte ich das Programm was einwandfrei funkioniert, wenn ich aber ne Multiplikation mache kommt ne fehlermeldung.
[DCC Warnung] Calculator_Main.PAS(88): W1035 Rückgabewert der Funktion 'TFormTR.BerechneTerm' könnte undefiniert sein.

Und wenn du mir erklären würdest wie du das gemacht hast wäre ich sehr dankbar..

P.S: Alle anderen Operanden funktionieren außer die Multiplikation
 
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#32

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:43
Welche Version von BerechneTerm? Die in Post #27 von mir oder die in Post #29 von Klaus01.

Lies im Thread bitte alle Antworten, nach Deiner letzten Frage. Wenn Du die Hälfe der Antworten hier ignorierst, macht es für mcih keinen Sinn, überhaupt zu Antworten
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#33

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:45
Zitat von safak67:
Also zuerst kommt bei mir ne Warnung
[DCC Warnung] Calculator_Main.PAS(88): W1035 Rückgabewert der Funktion 'TFormTR.BerechneTerm' könnte undefiniert sein

danach starte ich das Programm was einwandfrei funkioniert, wenn ich aber ne Multiplikation mache kommt ne fehlermeldung.
[DCC Warnung] Calculator_Main.PAS(88): W1035 Rückgabewert der Funktion 'TFormTR.BerechneTerm' könnte undefiniert sein.

Und wenn du mir erklären würdest wie du das gemacht hast wäre ich sehr dankbar..

P.S: Alle anderen Operanden funktionieren außer die Multiplikation
Welche Fehlermeldung kommt bei der Multiplikation=

Das as Du angegeben hast sind Warnungen, sie besagen das der result Wert von BerechneTerm undefiniert sein könnte.
Das kannst Du beheben indem Du zu Anfang der Routine ein result := 0 einfügst.

Benutzt Du auch das 'x' zum Multiplizieren oder das '*'.
In Deiner Routine solltest Du das x verwenden in der meinigen das *.

[edit] Kommetare im Quelltext eingefügt [edit]

Grüße
Klaus
Klaus
 
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#34

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:50
dein letzten beitrag habe ich erst jetzt gelesen sorry..

also ich habe deine(satty67) Version benutzt, jetzt funktioniert das auch. Aber da sind auch rechenfehler drin, ich bin mir nicht sicher aber wenn ich mind. 3 operanden eingebe macht er manchmal fehler.. höchstwahrscheinlich macht er die fehler bei der division.. ich bin mir aber nicht sicher..
 
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#35

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:52
Beschriftung des SpeedButton für Multiplikation muss natürlich identisch sein. Also überall "*" oder überall "x" verwenden.

Mit überall ist Caption von SpeedButton und die Zeichen in BerechneTerm gemeint.
 
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#36

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:55
das problem ist nicht bei der multiplikation jetzt sondern bei der division..
wenn ich z.B 12-3+1 eintippe gibt er 8 aus. der verwandelt iwi das + in minus um oder noch ein beispiel 18 -4+3 gibt er 11 aus.
 
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#37

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 11:59
Ja, das Problem hat irgendwo schon mal jemand angesprochen. Das wäre dann auch schon die nächste Baustelle:

Die Reihenfolge der berechneten Terme stimmt nicht mit den mathematischen Regeln überein.
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#38

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 12:01
Zitat von safak67:
das problem ist nicht bei der multiplikation jetzt sondern bei der division..
wenn ich z.B 12-3+1 eintippe gibt er 8 aus. der verwandelt iwi das + in minus um oder noch ein beispiel 18 -4+3 gibt er 11 aus.
weil Deine (und auch meine) Routine stumpf von links nach rechts rechnet.
Bespiel
12 -3 = 9
9 +1 = 10

12 - (3+1) =
12 -4 = 8

oder
18 - 4 +3
18 - 4 = 14
14 +3 = 17

18 - (4+3) =
18 - 7 = 11

Grüße
Klaus
Klaus
 
safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#39

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 12:18
hmm wieder so´ne scheiße.. satty67 kannst du dein teil kommentieren was du da gemacht hast, wenn es keine umstände macht..

das mit der mathematischen müssen wir nochmal anschauen
 
HenKst

Registriert seit: 7. Jul 2008
113 Beiträge
 
#40

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 12:30
Dieser spezielle Fehler liegt nicht an der Reihenfolge sondern daran das die Schleife weiterläuft, auch wenn ein Operator gefunden wird.

Wenn man nach dem case ein break einfügt kommt bei 12-3+1 auch 10 raus
Delphi-Quellcode:
case index of
  0: Result := Seg1 * Seg2;
  1: Result := Seg1 / Seg2;
  2: Result := Seg1 + Seg2;
  3: Result := Seg1 - Seg2;
end;
break;
Aber 1+1*2 ist 4
Also stimmt die Reihenfolge auch nicht.


(wohoo endlich mal wieder delphi geschrieben, c geht mir aufn keks...)
narf - not a real function
 
Thema geschlossen
Seite 4 von 8   « Erste     234 56     Letzte »    


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 01:33 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