Problem!! [równanie kwadratowe]

0

CZesc!!!
wszystko spoko jest ale jak wpisuje sie za a=1 za b=-5 a za c=2 to wyskakuje pierwiastki sa dodatnie i ujemne dwa napisy nie wiem dlaczego mozecie mi pomoc?

Program Rownanie;
uses crt;
var
   a,b,c,delta,x1,x2 : real;
   s:string;
label
  start;
begin
  start:
clrscr;
writeln('Program rozwiazuje rownanie kwadratowe o postaci : y=a*x*x+bx+c');
write('Podaj wspolczynnik a : ');
readln(a);
if a=0 then goto start;
write('Podaj wspolczynnik b : ');
 readln(b);
write('Podaj wspolczynnik c : ');
 readln(c);
delta:=sqr(b)-(4*a*c);
 If delta<0 then  writeln ('stop')
 else
	begin
	if (c/a >0)  then
	         begin
                       if -(b/a)>0 then writeln('pierwiastki dodatnie!!!!');
                      begin
	          if -(b/a)=0 then goto start
	          else writeln ('Pierwiastki sa ujemne.!!!!!')
                 end
                      end
	else
	if (c/a)=0 then goto start
	else writeln ('Pierwiastki maja rozne znaki.!!!!')
	end;
readln;
Writeln('Czy chesz zakonczyc dzialanie programu ?? [T=Tak, N=Nie]');
Readln(S);
if (S = 'N') or (S = 'n') then goto Start;
end.

Nie chce mi wyswietlac gdy sa pierwiastki dodatnie??

//używaj odpowiednich tagów i pisz normalne tematy!! - m.M

0

Po pierwsze: kto używa Goto? To jest przeżytek! Goto jest pozostałością po Alogu albo i czymś jeszcze starszym... Teraz nikt tego nie używa... Walnij sobie pętlę...
[dopisane]
Następnie: brakuje else... if -(a/b)>0 then writeln(...) ELSE begin... powinno być.
I popracuj nad formatowaniem - to co tu jest to jest tragedia...

1 użytkowników online, w tym zalogowanych: 0, gości: 1