![]() |
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Wenn man sich wundert, warum da irgendwas passiert, was man nicht erwartet, und man im Prinzip gar nicht versteht was da so passiert, dann hilft immer die Methode mit einem Ausdruck des Quelltextes, ein leeres Blatt Papier und evtl. für Notizen Block und Stift.
Versuchen wir mal das Beispiel mit dem Teilen. Da wird etwas komisches ausgegeben, was man so gar nicht vermutet hat. Also machen wir das mal als Trockenübung
Delphi-Quellcode:
Ok, merke ich mir (a ist 5)
a := StrToFloat (Zahl1.Text);
Delphi-Quellcode:
Ok, merke ich mir (b ist 0)
b := StrToFloat (Zahl2.Text);
Delphi-Quellcode:
Öh, das kann ich ja gar nicht berechnen "Hallo, kann mir mal jemand helfen?"
c:= a/b;
Na, dann höre ich mal auf, denn hier stimmt was nicht! Komischerweise kommt man zu dem gleichen Ergebnis wie das kompilierte Programm |
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Tja ein Schreibtischtest ist halt ganz aus der Mode gekommen
|
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
:wall:
|
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Ich habs ja jetzt hingekriegt, aber jetzt ist das Problem, dass wenn ich durch eine Zahl die größer oder kleiner als null ist, teile, kommt das Ergebnis:
1,05940440336306E-22 Ich kann das irgendwie auch nicht beheben. Auch wenn ichs mit der Aufschreibmethode versuche, weiß ich trotzdem nicht wie ich das im Programm schreiben soll, dass der Pc das versteht. |
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Wie gibst du die Zahl denn aus?
|
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Warum rechnest du nicht mit ganzen Zahlen, wie schon oben erwähnt?
|
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Zitat:
|
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
So, hab nochmal ne halbe Stunde dran rumprobiert, jetzt klappts endlich:
Delphi-Quellcode:
Das ist mein Code.
procedure TForm1.TeilButtonClick(Sender: TObject);
var a,b,c :Real ; begin a := StrToFloat (Zahl1.Text); b := StrToFloat (Zahl2.Text); If b <> 0 then c := a/b ; Ausgabe.Caption := FloatToStr (c); If b = 0 Then Ausgabe.Caption :='Man kann auch im Jahr 2010 immer noch nicht durch null teilen.'; end; |
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Delphi-Quellcode:
In Deinem Beispiel gibst Du c aus das als Stackvariable nicht initialisiert ist, da kann sonstwas drin stehen, außerdem gibt es ja nicht anzuzeigen.
procedure TForm1.TeilButtonClick(Sender: TObject);
var a,b,c :Real ; begin a := StrToFloat (Zahl1.Text); b := StrToFloat (Zahl2.Text); If b <> 0 then begin c := a/b ; Ausgabe.Caption := FloatToStr (c); end else Ausgabe.Caption :='Man kann auch im Jahr 2010 immer noch nicht durch null teilen.'; end; |
AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Der Else-Zweig wird wohl nie erreicht, schau mal bei Luckies Homepage vorbei :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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