Witam Was serdecznie!
Mimo, że jestem początkujący, to staram się najpierw szukać, później pytać. Przeszukałem chyba wszystkie strony po polsku i po angielsku (pomoc Delphi/ Pascala też) i teraz zwracam się z problemem do Was.
Otóż napisałem sobie programik konsolowy w Delphi i mam problem z dobrym ustawieniem zakresu zmiennej. Chciałem sobie ustawić, żeby była to liczba całkowita zwierająca się w przedziale <-99,99> i przy małym wykroczeniu poza zakres wszystko ładnie działa, ale jeżeli np. przy wczytywaniu zmiennej "a" podam 1000 (co wychodzi już poza skalę), to nie dość, że program to zaakceptuje, to przerobi jeszcze ten 1000 na -24...
Może ktoś wie dlaczego i mi pomoże :)
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
Math;
type
zmienna = -99..99;
function wczyt(x:zmienna; z:string):zmienna;
begin
try
repeat
begin
write('Podaj zmienna ',z,': ');
readln(x);
end;
until (x > -100) AND (x < 100);
wczyt := x;
except
on EInOutError do x:=wczyt(x,z);
end;
end;
var
a, b : zmienna;
begin
try
a := wczyt(a,'a');
b := wczyt(b,'b');
writeln; writeln;
write('a * b = ',a,' * ',b,' = ',a*b);
readln;
except
on E: Exception do Writeln(E.ClassName, ': ', E.Message);
end;
end.
dodanie znacznika <code class="delphi"> - fp