Jak zabezpieczyć program przed wpisaniem danych innego typu niż integer?
Napisałem program według następującego polecenia:
Dla podanej liczby n (n z przedziału (0,1000>) wyznaczyć i wyświetlić n kolejnych wyrazów ciągu arytmetycznego o pierwszym elemencie a i różnicy r, gdzie a jest liczbą całkowitą z przedziału <0,20>, r jest liczbą całkowitą różną od 0 z przedziału <-10000,10000>. Obliczyć sumę tych elementów.
Wygląda on tak:
program Project2;
var
i,n,r: Integer;
a:array[0..1000] of Integer;
label
koniec;
begin
writeln('Program wyswietla n kolejnych wyrazow ciagu arytmetycznego');
writeln('***************************************************************');
write('Podaj ilosc wyrazow n: '); readln(n);
if (n<1) or (n>1000) then begin
writeln('***************************************************************');
writeln('Bledne dane');
goto koniec;
end;
write('Podaj pierwszy wyraz a[1]: '); readln(a[1]);
if (a[1]<0) or (a[1]>20) then begin
writeln('***************************************************************');
writeln('Bledne dane');
goto koniec;
end;
write('Podaj roznice r: '); readln(r);
if (r<-10000) or (r>10000) or (r=0) then begin
writeln('***************************************************************');
writeln('Bledne dane');
goto koniec;
end;
writeln('***************************************************************');
i:=1;
writeln('a[',i,']=',a[i]);
for i:=2 to n do
begin
a[i]:=a[i-1]+r;
writeln('a[',i,']=',a[i]);
end;
writeln('***************************************************************');
koniec:
readln;
end.
I teraz pozostało mi tylko zabezpieczyć program przed tym że ktoś np jako n poda zamiast liczby całkowitej jakiś wyraz lub liczbę zmiennoprzecinkową. Jak temu zaradzić? Szukałem na forum ale nic nie znalazłem