В тип integer ввод char - Turbo Pascal
Формулировка задачи:
Например нам дано:
Вопрос: как сделать так, что бы при вводе например буквы (вместо числа) или дробного числа, программа продолжила свою работу написав :
"Ошибка ввода" и заново предложила бы ввести это число, короче нужно что бы не крешилась на этом месте..
буду благодарен если хотя бы на мысль наведете)
То же самое интересует наоборот, например если дана символьная переменная, а туда мы вводим число
Решение задачи: «В тип integer ввод char»
textual
Листинг программы
const
N = 100;
var
Arr : array[1..N] of Integer;
i, Code : Integer;
S : String;
begin
Writeln('Введите ряд чисел. Ввод каждого числа завершайте нажатием Enter.');
Writeln('Прекратить ввод - пустая строка + Enter.');
i := 0;
repeat
Write('Элемент ', i + 1, ': ');
Readln(S);
if S <> '' then begin
Val(S, Arr[i + 1], Code);
if Code = 0 then
Inc(i)
else
Writeln('Неверный ввод. Повторите.');
end;
until (S = '') or (i = N);
Readln;
end.
Объяснение кода листинга программы
- В начале кода объявляются константа N и переменные Arr, i и Code.
- Затем идет блок повторяющегося ввода, где пользователю предлагается ввести ряд чисел до тех пор, пока не будет введена пустая строка.
- В каждой итерации ввода пользователю предлагается ввести число, которое затем преобразуется в целое число. Если введенное число не является числом, выводится сообщение об ошибке и пользователю предлагается повторить ввод.
- После окончания ввода выводится сообщение о том, что ввод завершен.
- Код завершается после ввода пустой строки.