Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Защита от дурака

Автор: R@f 27.11.2005 20:50

Доброго времени суток! Такая проблема: надо сделать защиту от дурака. Вводить надо только число от 1 до 8. Если введёшь не то, надо вывести сообщение и прогу начать занаво. Пробовал через множества
С: SET of '1'..'8' а потом if K not in C then... А он ругается на not, что нужно выражение типа boolean. ПОдскажите, что делать.

Автор: volvo 27.11.2005 20:52

repeat
Write('Введите число 1 .. 8'); ReadLn(K);
if not (K in [1 .. 8]) then Writeln('Error !!!');
until (K in [1 .. 8]);

Автор: R@f 27.11.2005 21:11

Так то фурычит ( сообщение пока не выводит почему-то, но я исправлю это). Но вот если буквы вводишь то прога вылетает с ошибкой "неверный числовой формат". У меня k: integer. Может какой-то другой тип нужен?

Автор: HeX 27.11.2005 21:17

А ты че хотел integer токо числа

Автор: R@f 27.11.2005 21:18

Да это я уже сам вспомнил. Ну а какой тип писать надо?

Автор: Анна 27.11.2005 21:22

А у меня такой вопрос:
Как сделать чтобы оператор writeln ('Введите число: ') выводился вновь, после вывода ответа. Чтобы не запускать сново программу ...

Автор: Анна 27.11.2005 21:26

To: R@f
Ты что буквы вводить собрался? Тогда причём здесь интервал от 1 до 8? Там буквенный интервал нужен.

Автор: HeX 27.11.2005 21:26

R@F попробуй string токо прочитай о нем как там считывать числа

Автор: HeX 27.11.2005 21:28

To:AHHA
Попробуй repeat until пока не нажата клавиша Esc

Автор: HeX 27.11.2005 21:32

To:Anna Если тебе надо просто быстро посмотреть ответ в конце
перед end. Напиши readln без ;

Автор: R@f 27.11.2005 21:32

1) Ты спецом такую фотку поставила, чтоб отвечали?
2) Можно в самом начале проги поставить repeat ..... а потом
writeln('=> Для продолжения нажмите ENTER');
writeln('<= Для выхода нажмите ESC ');
q:=readkey;
until q=#27;

Автор: HeX 27.11.2005 21:36

Че сидим кого ждем быстро отвечать тем кто ваще ничего незнает тобишь мне!!

Автор: volvo 27.11.2005 21:42

HeX, будешь продолжать флеймить, уйдешь в БАН. Вопросы? mad.gif

R@f, ты для себя реши, чего ты хочешь?? Что у тебя в названии темы написано?

Цитата
Ввод только чисел от 1 до 8

при чем здесь теперь
Цитата
если буквы вводишь то прога вылетает с ошибкой "неверный числовой формат"
? Чего тебе надо, объясни...