Сейчас работаю над небольшим проектом, в котором без меню не обойтись. Программа консольная, меню написано и компилится, но.
1) не могу заставить работать else в case of...
2) не могу сделать возврат в предыдущее меню. Использовал оператор end, и их количество вроде бы как раз должно вернуть в предыдущее меню, но программа просто закрывается.
Привожу листинг (отрывок с проблемным участком, т.к. меню уже занимает более 500 строк):
begin
writeln('Выберите категорию:');
writeln('1. Основные правила русского языка');
writeln('0. Возврат в предыдущее меню');
writeln('Для выбора категории напечатайте её цифру без точки.');
readln(Dial);
case Dial of
1 : begin end;
0 : end;
else writeln('Вы выбрали что-то другое, а не категорию. Пожалуйста, выберите категорию.');
end;
end;
есть подозрение, что это из-за оператора end, который должен выполняться, если Dial (переменная типа integer) принимает значение 0.
Также возможно, что такие проблемы возникаю именно из-за нулевого значения.
Нужна помощь.
P.S. Просьба не предлагать использовать Lazarus или другую среду программирования. Интересует чистый FPC, желательно даже без библиотек.