Вопрос задан 02.07.2018 в 13:01. Предмет Информатика. Спрашивает Македонский Олег.

Как в Pascal Abc сделать контроль ввода данных? Так, что бы при вводе любого символа, кроме числа

выдавало не ошибку, а говорила что "Введено не число" и возвращалось, чтоб заменить этот символ на цифру
0 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

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос