Реализация защиты ввода от дурака - PascalABC.NET
Формулировка задачи:
Доброго времени суток! Имеется тривиальная программа
послать юзера в лес предложить ввести нормальное значение.
И необходимо реализовать защиту от юзера - дурака, который в байтовую переменную попытается забить что-то вроде 999999999999 или пишет вместо циферок буковки\значки. При этом прога должна не упасть с ошибкой и
Решение задачи: «Реализация защиты ввода от дурака»
textual
Листинг программы
var
a: byte;
error: boolean;
begin
repeat
error := false;
try
Readln(a);
except
error := true;
writeln('Вводим значения 0 .. 255');
end;
until not error;
// ...
end.
Объяснение кода листинга программы
- Объявлены две переменные:
aтипа byte иerrorтипа boolean. - Запускается цикл repeat-until, который будет выполняться до тех пор, пока
errorне станет равным false. - Внутри цикла устанавливается значение
errorв false. - В блоке try выполняется операция чтения значения с помощью Readln(a).
- В блоке except перехватывается исключение, которое возникает при неверном вводе значения.
- Значение
errorустанавливается в true, а в консоль выводится сообщениеВводим значения 0 .. 255. - После выхода из блока try-except проверяется значение
error. Если оно равно true, то цикл повторяется. Если false, то цикл завершается. - Код, который должен выполняться после цикла, помещен в комментарий
// ....