Hallo
ich bin gerade dabei ein Schulprojekt zu programmieren das anhand der abc-Formel(Mitternachtsformel) die Nullstellen berechnet.
Es läuft eig. alles einwandfrei nur habe ich jetzt ein Problem und zwar wenn ich 100x²+50x+25=0 rechnen möchte bekomme ich eine Fehlermeldung.
Fehlermeldung: Im Projekt Projekt1.exe ist eine Exception der Klasse EInvalidOp aufgetreten. Meldung: 'Ungültige Gleitkommaoperation'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
Hier der Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| procedure TForm1.BtLoeseABCClick(Sender: TObject); var a,b,c,x1,x2,d: real; begin a := strtofloat(EdA.Text); b := strtofloat(EdB.Text); c := strtofloat(EdC.Text);
d := b*b-4*a*c; EdDabc.Text := floattostr(d);
if d < 0 then begin EdX1abc.Text := 'Keine Lösung'; EdX2abc.Text := 'Keine Lösung'; end else if d = 0 then begin x1 := -b / (2*a); EdX1abc.Text := floattostr(x1); EdX2abc.Text := 'Nur eine Lösung'; end else x1 := (-b + sqrt(d)) / (2*a); EdX1abc.Text := floattostr(x1); x2 := (-b - sqrt(d)) / (2*a); <-- diese Zeile ist beim Programmabsturz blau hinterlegt. EdX2abc.Text := floattostr(x2); end; |
Im Anhang befindet sich der gepackte Ordner mit samt allen Dateien
PS.: ich habe bei Google oder in der SuFu nicht hilfreiches gefunden
LG DiedHope
Moderiert von
Narses: Delphi-Tags hinzugefügt