Предмет: Информатика,
автор: Saikano
Как в Pascal Abc сделать контроль ввода данных? Так, что бы при вводе любого символа, кроме числа выдавало не ошибку, а говорила что "Введено не число" и возвращалось, чтоб заменить этот символ на цифру
Ответы
Автор ответа:
0
Могу предложить такой вариант - в цикле 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
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
Похожие вопросы
Предмет: История,
автор: sofiafedyk3
Предмет: Литература,
автор: Millka2412
Предмет: Другие предметы,
автор: Karinatudo
Предмет: Математика,
автор: ВикаCоня