Witam, mam do wykonania program obliczający pierwiastki równania kwadratowego, z różnymi założeniami. Sam program mam już gotowy, niestety nie mam pojęcia jak wykonać ostatni warunek, mianowicie: zabezpieczenie przed wprowadzeniem liter. Normalnie po wpisaniu litery w typie liczbowym wyświetlany jest error i program kończy działanie. Tu ma wyświetlić się komunikat o błędzie, i ma ponowić się próba wpisania liczby. Pomożecie?
Kod programu:
program cw1;
uses crt2;
var a,b,c,i:integer;
procedure wprowadz;
begin
clrscr;
writeln('Program liczy ze wzoru "ax^2+bx+c"');
writeln('Podaj wartosci parametrow a,b,c');
repeat
write('Podaj a rozne od 0: ');
readln(a);
until a<>0;
write('Podaj b: ');
readln(b);
write('Podaj c: ');
readln(c);
writeln('Wzor przez Ciebie podany to: ',a,'x^2+',b,'x+',c);
end;
function delta:integer;
begin
delta:=b*b-4*a*c;
end;
function x1:real;
begin
x1:=(-b-sqrt(delta))/(2*a);
end;
function x2:real;
begin
x2:=(-b+sqrt(delta))/(2*a);
end;
begin
clrscr;
wprowadz;
writeln('=',delta);
if delta=0 then writeln('x1=',x1:6:2) else if delta<0 then
writeln('Brak pierwiastk˘w') else
begin
writeln('x1=',x1:6:2);
writeln('x2=',x2:6:2);
end;
readln;
end.