Как в Pascal Abc сделать контроль ввода данных? Так, что бы при вводе любого символа, кроме числа выдавало не ошибку, а говорила что "Введено не число" и возвращалось, чтоб заменить этот символ на цифру
Как в Pascal Abc сделать контроль ввода данных? Так, что бы при вводе любого символа, кроме числа выдавало не ошибку, а говорила что "Введено не число" и возвращалось, чтоб заменить этот символ на цифру
Ответ(ы) на вопрос:
Гость
Могу предложить такой вариант - в цикле repeat число вводится как строка и посимвольно проверяется. если введено неправильно - возвращает на ввод, если правильно - преобразует строку в число для дальнейшей работы.
var
a,err: integer;
s: string;
i: byte;
error: boolean;
begin
repeat
error:=true;
writeln ('введите число');
readln (s);
for i:=1 to length(s) do begin
if (ord(s[i])<48) or (ord(s[i])>57)
then begin error:=false; writeln ('введено не число'); break; end
end;
until error=true;
val(s,a,err);
writeln ('введено число ',a);
end.
------------------------------
Пример:
введите число
12O
введено не число
введите число
120
введено число 120
Не нашли ответ?
Похожие вопросы