Регистрация
Войти
Стать экспертом Правила
Информатика

Как в 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])lt;48) or (ord(s[i])gt;57)
      then begin error:=false; writeln (введено не число); break; end
  end;
  until error=true;
  val(s,a,err);
  writeln (введено число ,a);
end.
------------------------------
Пример:
введите число
12O
введено не число
введите число
120
введено число 120
240
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам