
Вопрос задан 02.07.2018 в 13:01.
Предмет Информатика.
Спрашивает Македонский Олег.
Как в 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


Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili