HoLLoWManN
Grünschnabel
Dieses Programm soll in einer Prozedure in eienr Unit die wurzelberechnen und diese ausgeben, nur bekomm ich es nicht hin wenn es keien Lösung gibt. Da kackt das programm immer ab weil es Division durch 0 ist.
ich hatte als erstes die Ganzen ausgaben im Hauptprogramm aber dann hab ich das nciht mti der utnerscheidung hinbekommen wenns Diskriminat negativ ist weil er das dann vollkommen ignoriert hat, ka wieso.
Hoffe irgendwer kann mir helfen
Code:
Hauptprogram
procedure TForm1.Button1Click(Sender: TObject);
var p,q,d,e,f,g : Real;
begin
p:=StrToFloat(pEdit.Text);
q:=StrToFloat(qEdit.Text);
Quad(p,q,d,e,f,g);
end;
Code:
Die unit
unit Rechnen;
interface
procedure Quad (p,q:Real;var d,e,f,g:Real);
implementation
procedure Quad (p,q:Real;var d,e,f,g:Real);
begin
d:=(p/2)-q;
if d<0 then
begin
Panel2.Caption:='Es Gibt keine Nullstelle';
X1Edit.Text:=' ';
X2Edit.Text:=' ';
end
else;
If d=0 then
begin
d:=sqr((p/2)-q);
e:=-p/2;
Panel2.Caption:='Es Gibt eine Nullstelle';
X1Edit.Text:=FloatToStr(e);
X2Edit.Text:=' '
end
else
Begin
f:=-p/2+ Sqrt(d);
g:=-p/2- Sqrt(d);
Panel2.Caption:='Es Gibt zwei Nullstellen';
X1Edit.Text:=FloatToStr(f);
X2Edit.Text:=FloatToStr(g)
end;
end
end;
end.
ich hatte als erstes die Ganzen ausgaben im Hauptprogramm aber dann hab ich das nciht mti der utnerscheidung hinbekommen wenns Diskriminat negativ ist weil er das dann vollkommen ignoriert hat, ka wieso.
Hoffe irgendwer kann mir helfen