Alimmmmm
20.09.2021 13:07

Как в pascal abc сделать контроль ввода данных? так, что бы при вводе любого символа, кроме числа выдавало не ошибку, а говорила что "введено не число" и возвращалось, чтоб заменить этот символ на цифру

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Маша20041124
04.10.2020 21:06
Могу предложить такой вариант - в цикле 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
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота