требуется помощь с оператором case

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

требуется помощь с оператором case

Сообщение YgReEk » 28.07.2011 22:55:58

Сейчас работаю над небольшим проектом, в котором без меню не обойтись. Программа консольная, меню написано и компилится, но.
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, желательно даже без библиотек.
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение Bupyc » 28.07.2011 23:52:56

0 : begin end;
Bupyc
постоялец
 
Сообщения: 137
Зарегистрирован: 29.08.2007 18:22:42

Re: требуется помощь с оператором case

Сообщение Oleg_D » 29.07.2011 00:07:55

Ветка с нулем должна обрабатываться, как и все прочие. Или выкинуть ее совсем, если не нужна.
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Re: требуется помощь с оператором case

Сообщение YgReEk » 29.07.2011 07:31:02

По идее, эта ветка должна возвращать в предыдущее меню. Если нельзя использовать оператор end, то какие есть другие варианты?
P.S. GoTo советовать в крайнем случае: програмка будет не маленькая.
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение mad_nazgul » 29.07.2011 07:41:22

Т.к. это у Вас обработчик событий, то он должен быть в цикле.

Приблизительно так:

while true do
begin
Result := GetChoice( MenuLevel);
case Result of
0: MenuLevel - 1;
1:;
2:;
else
writeln('Не опознаная комманда');
end;
end;

Где GetChoice - это функция function getChoice(aMenuLevel:integer):integer;
mad_nazgul
новенький
 
Сообщения: 10
Зарегистрирован: 20.04.2009 19:28:50

Re: требуется помощь с оператором case

Сообщение Odyssey » 29.07.2011 12:13:38

Если каждое меню и подменю -- это отдельная процедура, то выходить в предыдущее меню можно с помощью команды выхода из процедуры -- Exit. И mad_nazgul дело говорит. Если не будет цикла, то после неправильного ввода ввести что-то ещё раз будет уже нельзя.
В целом вариант с процедурами будет выглядеть как-то так:
Код: Выделить всё
procedure MainMenu;
var
  Dial: Integer;
begin
  while True do
  begin
    writeln('Выберете действие:');
    writeln('1. Выбор категории');
    writeln('2. Просмотр справки');
    writeln('0. Выход из программы');
    writeln('Для выбора действия напечатайте его цифру без точки.');
    readln(Dial);
    case Dial of
       1: SelectCategory;
       2: ShowHelp;
       0: Halt;
       else writeln('Вы выбрали что-то другое, а не действие. Пожалуйста, выберите действие.');
    end;
  end;
end;

procedure SelectCategory;
var
  Dial: Integer;
begin
  while True do
  begin
    writeln('Выберите категорию:');
    writeln('1. Основные правила русского языка');
    writeln('0. Возврат в предыдущее меню');
    writeln('Для выбора категории напечатайте её цифру без точки и нажмите ввод');
    readln(Dial);
    case Dial of
      1: GeneralRussianRulesCategory;
      0: Exit;
      else writeln('Вы выбрали что-то другое, а не категорию. Пожалуйста, выберите категорию.');
    end;
  end;
end;

Можно то же самое сделать и с goto. Хоть кто-то из великих и говорил, что goto -- это зло, в данном случае в варианте с goto будет проще реализовать выход из глубоких подменю сразу на самый верх.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: требуется помощь с оператором case

Сообщение YgReEk » 29.07.2011 17:00:37

Проще не значит лучше ;-) Попробую вариант с процедурами. Спасибо!
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение YgReEk » 15.08.2011 12:25:30

Вроде бы сделал так, как указано в варианте с процедурами, но сами процедуры как-то не корректно работают: при компиляции на строку с процедурой выдаёт сначала invalid expression, а затем не считает имя процедуры за имя и выдаёт fatal error: ";" expected but identifer 'MainMenu" found. Что не так?
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение VirtUX » 15.08.2011 13:04:54

YgReEk писал(а):fatal error: ";" expected

";" - отсутствует. Не закрыта лексема кода.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: требуется помощь с оператором case

Сообщение informat » 16.08.2011 07:03:52

Odyssey писал(а):Если каждое меню и подменю -- это отдельная процедура, то выходить в предыдущее меню можно с помощью команды выхода из процедуры -- Exit. И mad_nazgul дело говорит. Если не будет цикла, то после неправильного ввода ввести что-то ещё раз будет уже нельзя.
В целом вариант с процедурами будет выглядеть как-то так:
Код: Выделить всё
procedure MainMenu;
var
  Dial: Integer;
begin
  while True do
  begin
    writeln('Выберете действие:');
    writeln('1. Выбор категории');
    writeln('2. Просмотр справки');
    writeln('0. Выход из программы');
    writeln('Для выбора действия напечатайте его цифру без точки.');
    readln(Dial);
    case Dial of
       1: SelectCategory;
       2: ShowHelp;
       0: Halt;
       else writeln('Вы выбрали что-то другое, а не действие. Пожалуйста, выберите действие.');
    end;
  end;
end;

procedure SelectCategory;
var
  Dial: Integer;
begin
  while True do
  begin
    writeln('Выберите категорию:');
    writeln('1. Основные правила русского языка');
    writeln('0. Возврат в предыдущее меню');
    writeln('Для выбора категории напечатайте её цифру без точки и нажмите ввод');
    readln(Dial);
    case Dial of
      1: GeneralRussianRulesCategory;
      0: Exit;
      else writeln('Вы выбрали что-то другое, а не категорию. Пожалуйста, выберите категорию.');
    end;
  end;
end;

Можно то же самое сделать и с goto. Хоть кто-то из великих и говорил, что goto -- это зло, в данном случае в варианте с goto будет проще реализовать выход из глубоких подменю сразу на самый верх.


GOTO соме по себе не зло, но если их будет много, то автор запутается в своих переходах. Кончится тем, что программу придётся переписывать.
Бесконечный цикл тоже не очень хорошо. Потом трудно будет вспомнить, где выход из него и не он ли циклит.
В данном случае вместо while True do можно написать while Dial<>0 do.

Возможно, окажется, что нужны будут не процедуры, а функции.
Аватара пользователя
informat
новенький
 
Сообщения: 62
Зарегистрирован: 27.10.2010 09:44:20
Откуда: http://informat.name

Re: требуется помощь с оператором case

Сообщение YgReEk » 16.08.2011 09:30:40

"не закрыта лексема кода" - в том то и дело, что идёт строка procedure MainMenu, на которую он и ругается.
Зачем тут могут понадобиться функции? Никакого значения же возвращать не надо.
Была уже идея сделать всё модулями, но это тогда нужно писать с помощью ООП, процедурное будет не вариантом.
А вообще, если не будет рабочих вариантов - мне придётся всё-таки вставлять goto.
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение Odyssey » 16.08.2011 12:55:09

YgReEk писал(а):Вроде бы сделал так, как указано в варианте с процедурами, но сами процедуры как-то не корректно работают: при компиляции на строку с процедурой выдаёт сначала invalid expression, а затем не считает имя процедуры за имя и выдаёт fatal error: ";" expected but identifer 'MainMenu" found. Что не так?

Чтобы понять в чём проблема, нужно видеть исходный код всей программы, а не только процедур. Плюс нужен номер строки, на которой возникает ошибка.

informat писал(а):Бесконечный цикл тоже не очень хорошо.
В большинстве случаев - да.
informat писал(а):В данном случае вместо while True do можно написать while Dial<>0 do.
Тогда нужно будет в начало процедуры добавить строчку Dial := -1;. Локальные переменные не инициализируются, и могут изначально содержать что угодно, в том числе 0 -- и тогда код в цикле не сработает ни разу.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: требуется помощь с оператором case

Сообщение YgReEk » 16.08.2011 14:33:36

Код: Выделить всё
program pupils_utils_1;
var     VibKat,DlyaVib,InNext,NeKat: string;
        // Dial - ЇҐаҐ¬Ґ­­ п ⥪г饣® ¤Ё «®Ј  (ўлЎҐаҐвҐ ...)
        //x,x1,x2,y,y1,y2,z,a,b,c,D: extended
        //a,b,c - Є®нддЁжҐ­вл ў га ў­Ґ­Ёпе; x1,x2,y1,y2 - Є®а­Ё га ў­Ґ­Ё©; x,y,z - ­ҐЁ§ўҐбв­лҐ; D - ¤ЁбЄаЁ¬Ё­ ­в
begin
        writeln('„®Ўа® Ї®¦ «®ў вм ў Pupils Utils 1.0!');
        writeln();
        writeln();
        writeln('џ ­ ¤Ґобм, зв® Їа®Ја ¬¬  ў ¬ ЇаЁЈ®¤Ёвбп.');
        writeln();
        VibKat:='‚лЎҐаЁвҐ Є вҐЈ®аЁо:';
        DlyaVib:='„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.';
        InNext:='’®«мЄ® ў б«Ґ¤го饩 ўҐабЁЁ ;-)';
        NeKat:='‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ Є вҐЈ®аЁо.';
        procedure MainMenu;
        var Dial: integer;
        Dial:=1
        begin
                while Dial<>0 do
                begin
                        writeln('‚лЎҐаЁвҐ ¤Ґ©бвўЁҐ');
                        writeln('0. ‚л室 Ё§ Їа®Ја ¬¬л');
                        writeln('1. ‚лЎ®а Є вҐЈ®аЁЁ');
                        writeln('2. Џа®б¬®ва бЇа ўЄЁ');
                        writeln('3. Џа®б¬®ва «ЁжҐ­§Ё®­­®Ј® б®Ј« иҐ­Ёп');
                        writeln('„«п ўлЎ®а  ¤Ґ©бвўЁп ­ ЇҐз в ©вҐ ҐЈ® жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                        case Dial of
                                0: Halt;
                                1: SelectCategoryMain;
                                2: ShowHelp;
                                3: ShowLicense;
                                else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ ¤Ґ©бвўЁҐ. Џ®¦ «гз©бв , ўлЎҐаЁвҐ ¤Ґ©бвўЁҐ.');
                        end;
                end;
        end;
end.


Открыл notepad++, так что вместо русских букв - кракозябры. Но это в принципе не важно. Ошибка в строке №17

Это исходный код переписанного варианта с процедурами. Если надо, вот прежний вариант.
Код: Выделить всё
program pupils_utils_1;
var     Dial: integer;
        // Dial - ЇҐаҐ¬Ґ­­ п ⥪г饣® ¤Ё «®Ј  (ўлЎҐаҐвҐ ...)
        //x,x1,x2,y,y1,y2,z,a,b,c,D: extended
        //a,b,c - Є®нддЁжҐ­вл ў га ў­Ґ­Ёпе; x1,x2,y1,y2 - Є®а­Ё га ў­Ґ­Ё©; x,y,z - ­ҐЁ§ўҐбв­лҐ; D - ¤ЁбЄаЁ¬Ё­ ­в
begin
        writeln('„®Ўа® Ї®¦ «®ў вм ў Pupils Utils 1.0!');
        writeln();
        writeln();
        writeln('џ ­ ¤Ґобм, зв® Їа®Ја ¬¬  ў ¬ ЇаЁЈ®¤Ёвбп.');
        writeln();
        writeln('€бЇ®«м§гп нвг Їа®Ја ¬¬г ўл ЇаЁ­Ё¬ ҐвҐ гб«®ўЁп «ЁжҐ­§Ё®­­®Ј® б®Ј« иҐ­Ёп, ЇаҐ¤бв ў«Ґ­­®Ј® ў д ©«Ґ license.txt Є®в®ал© а бЇа®бва ­пҐвбп ў¬ҐбвҐ б ¤ ­­®© Їа®Ја ¬¬®©.');
        writeln();
        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
        writeln('1.  Ђ«ЈҐЎа ');
        writeln('2.  ѓҐ®¬ҐваЁп');
        writeln('3.  ”Ё§ЁЄ ');
        writeln('4.  ЃЁ®«®ЈЁп');
        writeln('5.  •Ё¬Ёп');
        writeln('6.  €­д®а¬ вЁЄ ');
        writeln('7.  ѓҐ®Ја дЁп');
        writeln('8.  €бв®аЁп');
        writeln('9.  Ђ­Ј«Ё©бЄЁ©');
        writeln('10. ‹ЁвҐа вга ');
        writeln('11. ђгббЄЁ©');
        writeln('12. Њ•Љ, Њг§лЄ , €‡Ћ');
        writeln('13. ЋЎйҐбвў®§­ ­ЁҐ');
        writeln('14. ”Ё§ЁзҐбЄ п Єг«мвга , ЋЃ†');
        writeln('15. ‚ ЇҐабЇҐЄвЁўҐ...');
        writeln('0.  ‚л室');
        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
        readln(Dial);
                case Dial of
                1 : begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1.  ‹Ё­Ґ©­лҐ га ў­Ґ­Ёп');
                        writeln('2.  ‹Ё­Ґ©­лҐ ­Ґа ўҐ­бвў ');
                        writeln('3.  Љў ¤а в­лҐ га ў­Ґ­Ёп');
                        writeln('4.  Љў ¤а в­лҐ ­Ґа ўҐ­бвў ');
                        writeln('5.  ‹Ё­Ґ©­лҐ бЁб⥬л');
                        writeln('6.  ‘«®¦­лҐ бЁб⥬л');
                        writeln('7.  ЃЁЄў ¤а в­лҐ га ў­Ґ­Ёп');
                        writeln('8.  “а ў­Ґ­Ёп n-­®© б⥯Ґ­Ё');
                        writeln('9.  “а ў­Ґ­Ёп б Ї а ¬Ґв஬');
                        writeln('10. ‹®Ј аЁд¬');
                        writeln('11. ” Єв®аЁ «');
                        writeln('12. ‘⥯Ґ­м');
                        writeln('13. Љ®аҐ­м');
                        writeln('14. ќ«Ґ¬Ґ­вл ⥮ਨ ўҐа®пв­®бвЁ');
                        writeln('0.  ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                4 : begin end;
                                5 : begin end;
                                6 : begin end;
                                7 : begin end;
                                8 : begin end;
                                9 : begin end;
                                10: begin end;
                                11: begin end;
                                12: begin end;
                                13: begin end;
                                14:     begin
                                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                        writeln('1. ђ бЇаҐ¤Ґ«Ґ­ЁҐ');
                                        writeln('2. ‘®зҐв ­ЁҐ');
                                        writeln('3. ЏҐаҐбв ­®ўЄ ');
                                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                        readln(Dial);
                                                case Dial of
                                                1 : begin end;
                                                2 : begin end;
                                                3 : begin end;
                                                0 : end;
                                                //„ ­­ п бвагЄвга  ў­ з «Ґ § Є ­зЁў в ®ЇҐа в®а case, § вҐ¬ § Є ­зЁў Ґв бвагЄвгаг begin-end, Є®в®а п ®в­®бЁвбп Є ЇаҐ¤л¤г饬㠯㭪вг ¬Ґ­о
                                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                                end;
                                        end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                0 : end;
                                end;
                        end;
                2 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. sin, cos, sec, cosec, tg, ctg');
                        writeln('2. ’Ґ®аҐ¬  ЇЁд Ј®а : а бзсв ЈЁЇ®вҐ­г§л Ё Є вҐв®ў');
                        writeln('3. “а ў­Ґ­ЁҐ Їаאַ©');
                        writeln('4. “а ў­Ґ­ЁҐ ®Єаг¦­®бвЁ');
                        writeln('5. ђ бзсвл S дЁЈга');
                        writeln('6. ‘ў®©бвў  ўлЎа ­­®© ЈҐ®¬ҐваЁзҐбЄ®© дЁЈгал');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. sin');
                                writeln('2. cos');
                                writeln('3. sec');
                                writeln('4. cosec');
                                writeln('5. tg');
                                writeln('6. ctg');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        4 : begin end;
                                        5 : begin end;
                                        6 : begin end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                2 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. ђ бзсв ЈЁЇ®вҐ­г§л Ї® ¤ўг¬ Є вҐв ¬');
                                writeln('2. ђ бзсв Є вҐв  Ї® ЈЁЇ®вҐ­г§Ґ Ё ¤агЈ®¬г Є вҐвг');
                                writeln('3. ђ бзсв Є вҐв Ў Ґб«Ё Ё§ўҐб⥭ Є вҐвЎ «Ґ¦ йЁ© Їа®вЁў гЈ«  ў 30 Ја ¤гб®ў');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                3 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. ');
                                writeln('2. ');
                                writeln('3. ');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                4 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. ђ бзсв  ЎжЁббл, Ґб«Ё Ё§ўҐбв­  ®а¤Ё­ в  (ў Ґ¤Ё­Ёз­®© ®Єаг¦­®бвЁ)');
                                writeln('2. ђ бзсв ®а¤Ё­ вл, Ґб«Ё Ё§ўҐбв­   ЎжЁбб  (ў Ґ¤Ё­Ёз­®© ®Єаг¦­®бвЁ)');
                                writeln('3. ЏаЁ­ ¤«Ґ¦Ёв «Ё § ¤ ­­ п в®зЄ  ¤ ­­®© ®Єаг¦­®бвЁ');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                5 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. Љў ¤а в');
                                writeln('2. Џаאַ㣮«м­ЁЄ');
                                writeln('3. ђ®¬Ў');
                                writeln('4. Џ а ««Ґ«®Ја ¬¬');
                                writeln('5. ’а ЇҐжЁп');
                                writeln('6. Џаאַ㣮«м­ п ва ЇҐжЁп');
                                writeln('7. ’аҐгЈ®«м­ЁЄ');
                                writeln('8. ђ ў­®бв®а®­­Ё© ваҐгЈ®«м­ЁЄ');
                                writeln('9. ђ ў­®ЎҐ¤аҐ­­л© ваҐгЈ®«м­ЁЄ');
                                writeln('10.Џаאַ㣮«м­л© ваҐгЈ®«м­ЁЄ');
                                writeln('11.ЏпвЁгЈ®«м­ЁЄ');
                                writeln('12.Џа ўЁ«м­л© ЇпвЁгЈ®«м­ЁЄ');
                                writeln('13.˜ҐбвЁгЈ®«м­ЁЄ');
                                writeln('14.Џа ўЁ«м­л© иҐбвЁгЈ®«м­ЁЄ');
                                writeln('15.Џа ўЁ«м­л© n-гЈ®«м­ЁЄ');
                                writeln('16.Џ®«гЄагЈ');
                                writeln('17.ЉагЈ');
                                writeln('18.Ћў «');
                                writeln('19.‘ҐЄв®а ЄагЈ ');
                                writeln('20.‘ҐЈ¬Ґ­в ЄагЈ ');
                                writeln('21.<‚®§¬®¦­® Їа®¤®«¦Ґ­ЁҐ>');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        4 : begin end;
                                        5 : begin end;
                                        6 : begin end;
                                        7 : begin end;
                                        8 : begin end;
                                        9 : begin end;
                                        10: begin end;
                                        11: begin end;
                                        12: begin end;
                                        13: begin end;
                                        14: begin end;
                                        15: begin end;
                                        16: begin end;
                                        17: begin end;
                                        18: begin end;
                                        19: begin end;
                                        20: begin end;
                                        21: begin writeln('’®«мЄ® ў б«Ґ¤го饩 ўҐабЁЁ ;-)'); readln() end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                6 :     begin
                                writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                writeln('1. Љў ¤а в');
                                writeln('2. Џаאַ㣮«м­ЁЄ');
                                writeln('3. ђ®¬Ў');
                                writeln('4. Џ а ««Ґ«®Ја ¬¬');
                                writeln('5. ’а ЇҐжЁп');
                                writeln('6. Џаאַ㣮«м­ п ва ЇҐжЁп');
                                writeln('7. ’аҐгЈ®«м­ЁЄ');
                                writeln('8. ђ ў­®бв®а®­­Ё© ваҐгЈ®«м­ЁЄ');
                                writeln('9. ђ ў­®ЎҐ¤аҐ­­л© ваҐгЈ®«м­ЁЄ');
                                writeln('10.Џаאַ㣮«м­л© ваҐгЈ®«м­ЁЄ');
                                writeln('11.ЏпвЁгЈ®«м­ЁЄ');
                                writeln('12.Џа ўЁ«м­л© ЇпвЁгЈ®«м­ЁЄ');
                                writeln('13.˜ҐбвЁгЈ®«м­ЁЄ');
                                writeln('14.Џа ўЁ«м­л© иҐбвЁгЈ®«м­ЁЄ');
                                writeln('15.Џа ўЁ«м­л© n-гЈ®«м­ЁЄ');
                                writeln('16.‚лЇгЄ«лҐ дЁЈгал');
                                writeln('17.ЉагЈ');
                                writeln('18.Ћў «');
                                writeln('19.ЋЄаг¦­®бвм');
                                writeln('20.Џ®«гЄагЈ');
                                writeln('21.„гЈ ');
                                writeln('22.“Ј®«');
                                writeln('23.Џап¬ п');
                                writeln('24.‘Ёгб®Ё¤ ');
                                writeln('25.Љ®бЁ­гб®Ё¤ ');
                                writeln('26.Џ а Ў®« ');
                                writeln('27.ѓЁЇҐаЎ®« ');
                                writeln('28.ѓа дЁЄ «®Ј аЁд¬ЁзҐбЄ®© дг­ЄжЁЁ');
                                writeln('29.<‚®§¬®¦­® Їа®¤®«¦Ґ­ЁҐ>');
                                writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                readln(Dial);
                                        case Dial of
                                        1 : begin end;
                                        2 : begin end;
                                        3 : begin end;
                                        4 : begin end;
                                        5 : begin end;
                                        6 : begin end;
                                        7 : begin end;
                                        8 : begin end;
                                        9 : begin end;
                                        10: begin end;
                                        11: begin end;
                                        12: begin end;
                                        13: begin end;
                                        14: begin end;
                                        15: begin end;
                                        16: begin end;
                                        17: begin end;
                                        18: begin end;
                                        19: begin end;
                                        20: begin end;
                                        21: begin end;
                                        22: begin end;
                                        23: begin end;
                                        24: begin end;
                                        25: begin end;
                                        26: begin end;
                                        27: begin end;
                                        28: begin end;
                                        29: begin writeln('’®«мЄ® ў б«Ґ¤го饩 ўҐабЁЁ ;-)'); readln() end;
                                        0 : end;
                                        //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                        end;
                                end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                3 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ‚лў®¤ ®б­®ў­ле д®а¬г«');
                        writeln('2. ѓ«®бб аЁ©');
                        writeln('3. ђ бзсв...');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                4 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. Љ®¬Ї«Ё¬Ґ­в а­®бвм „ЌЉ (бЇа ўЄ )');
                        writeln('2. ђ бзсв ¤®¬Ё­ ­в­®бвЁ/аҐжҐббЁў­®бвЁ ЈҐ­®ў');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                 case Dial of
                                 1 : begin end;
                                 2 : begin end;
                                 0 : end;
                                 //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                 end;
                        end;
                5 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ђ бзсв ¬®«па­®© ¬ ббл');
                        writeln('2. ‚лзЁб«Ґ­ЁҐ ®Ўкс¬  Ј §®ў');
                        writeln('3. ђ бзсв ¬ ббл ўҐйҐбвў  ў ᬥбЁ');
                        writeln('4. ‘ў®©бвў  ®ЇаҐ¤Ґ«с­­®Ј® н«Ґ¬Ґ­в ');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                4 : begin writeln('‚ўҐ¤ЁвҐ ®Ў®§­ зҐ­ЁҐ н«Ґ¬Ґ­в  (­ ЇаЁ¬Ґа: H, O, Mg - ЇҐаў п ЎгЄў  § Ј« ў­ п, ®бв «м­лҐ ­Ґв)'); readln(); end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                6 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ЋЇҐа жЁЁ ў ¤ў®Ёз­®©, ў®б쬥аЁз­®©, ¤ҐбпвЁаЁз­®© Ё иҐбв­ ¤ж вҐаЁз­®© бЁб⥬ е бзЁб«Ґ­Ёп');
                        writeln('2. ђ бзсв ®Ўкс¬  д ©«  ¤«п ⥪бв®ў®Ј® ¤®Єг¬Ґ­в , ¤«п ¬г«мвЁ¬Ґ¤Ё©­ле д ©«®ў');
                        writeln('3. ђ бзс⠢६Ґ­Ё ЇҐаҐ¤ зЁ д ©« ');
                        writeln('4. ђ бзсв бў®©бвў д ©«  Ёбе®¤п Ё§ § ¤ ­­ле бў®©бвў Ё а §¬Ґа ');
                        writeln('5. ђ бзсв а §¬Ґа  д ©«  Ёбе®¤п Ё§ иЁа®вл Є ­ «  Ё ўаҐ¬Ґ­Ё ҐЈ® ЇҐаҐ¤ зЁ');
                        writeln('6. Ћб­®ў­лҐ дг­ЄжЁЁ п§лЄ  pascal (help)');
                        writeln('7. Ђ«ЈҐЎа  «®ЈЁЄЁ (бЇа ўЄ )');
                        writeln('8. ‘Їа ў®з­л© ¬ вҐаЁ «');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 :     begin
                                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                        writeln('1. ЋЇҐа жЁЁ ў ¤ў®Ёз­®© бЁб⥬Ґ (ЎЁ­ а­®Ґ бзЁб«Ґ­ЁҐ,  «ЈҐЎа  «®ЈЁЄЁ)');
                                        writeln('2. ЋЇҐа жЁЁ ў ў®б쬥аЁз­®© бЁб⥬Ґ');
                                        writeln('3. ЋЇҐа жЁЁ ў ¤ҐбпвЁз­®© бЁб⥬Ґ');
                                        writeln('4. ЋЇҐа жЁЁ ў иҐбв­ ¤ж вҐаЁз­®© (HEX) бЁб⥬Ґ');
                                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                        readln(Dial);
                                                case Dial of
                                                1 : begin end;
                                                2 : begin end;
                                                3 : begin end;
                                                4 : begin end;
                                                0 : end;
                                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                                end;
                                        end;
                                2 :     begin
                                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                        writeln('1. ’ҐЄбв®ўл© д ©«');
                                        writeln('2. ѓа дЁзҐбЄЁ© д ©« (а бва)');
                                        writeln('3. ‚Ё¤Ґ®д ©«');
                                        writeln('4. Ђг¤Ё®д ©«');
                                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                        readln(Dial);
                                                case Dial of
                                                1 : begin end;
                                                2 : begin end;
                                                3 : begin end;
                                                4 : begin end;
                                                0 : end;
                                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                                end;
                                        end;
                                3 : begin end;
                                4 : begin end;
                                5 : begin end;
                                6 : begin end;
                                7 : begin end;
                                8 :     begin
                                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                        writeln('1. ѓ«®бб аЁ©');
                                        writeln('2. Ћб­®ў­лҐ ®ЇҐа жЁЁ ў Ћ‘ MS Windows');
                                        writeln('3. Ћб­®ў­лҐ ®ЇҐа жЁЁ ў Ћ‘ Ubuntu');
                                        writeln('4. ‘бл«ЄЁ ­  Ї®«Ґ§­лҐ аҐбгабл');
                                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                        readln(Dial);
                                                case Dial of
                                                1 : begin end;
                                                2 : begin end;
                                                3 : begin end;
                                                4 : begin end;
                                                0 : end;
                                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                                end;
                                        end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                7 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ‘Їа ў®з­лҐ ¬ вҐаЁ «л Ї® ђ®ббЁЁ');
                        writeln('2. ‘Їа ў®з­лҐ ¤ ­­лҐ ®в­®бЁвҐ«м­® б ¬®Ј® Ў®«ми®Ј®/¬ «Ґ­мЄ®Ј®/иЁа®Є®Ј®/Ј«гЎ®Є®Ј® Ё в.¤.');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                8 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. Ћб­®ў­лҐ Ёбв®аЁзҐбЄЁҐ б®ЎлвЁп §  N ўҐЄ');
                        writeln('2. €бв®аЁп ђ®ббЁЁ');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                9 :     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ЌҐЇа ўЁ«м­лҐ Ј« Ј®«л');
                        writeln('2. ‘Їа ўЄ  Ї® ўаҐ¬Ґ­ ¬');
                        writeln('3. Ћб­®ў­лҐ б«®ў®б®зҐв ­Ёп б ЇҐаҐў®¤®¬');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                10:     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ‹ЁвҐа вга­ п Ёбв®аЁп');
                        writeln('2. Ћб­®ў­лҐ ЇЁб вҐ«Ё (® ­Ёе)');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 :     begin
                                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                                        writeln('1. Ђ«ҐЄб ­¤а ‘ҐаЈҐҐўЁз ЏгиЄЁ­');
                                        writeln('2. € ¤агЈЁҐ ;-)');
                                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                                        readln(Dial);
                                                case Dial of
                                                1 : begin end;
                                                2 : begin end;
                                                0 : end;
                                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                                end;
                                        end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                11:     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. Џа®б¬®ваҐвм ®б­®ў­лҐ Їа ўЁ«  агббЄ®Ј® п§лЄ ');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                12:     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. €бв®аЁп Єг«мвгал');
                        writeln('2. Ћ ўҐ«ЁЄЁе «о¤пе');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                13:     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. ѓ«®бб аЁ©');
                        writeln('2. Љ®­бвЁвгжЁп ђ”');
                        writeln('3. Љ®¤ҐЄбл ђ” (ѓа ¦¤ ­бЄЁ©, ’а㤮ў®©, “Ј®«®ў­л©...)');
                        writeln('4. ЊҐ¦¤г­ а®¤­лҐ ¤®Єг¬Ґ­вл');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                4 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                14:     begin
                        writeln('‚лЎҐаЁвҐ Є вҐЈ®аЁо:');
                        writeln('1. Џа ўЁ«  ЎҐ§®Ї б­®бвЁ');
                        writeln('2. Љ Є ¤Ґ©бвў®ў вм ў нЄбв६ «м­ле бЁвг жЁпе');
                        writeln('3. ‡ ап¤Є  Ё а §¬Ё­Є  ЇҐаҐ¤ дЁ§ЁзЁбЄЁ¬Ё ­ Јаг§Є ¬Ё');
                        writeln('4. Џ ¬пвЄ , Ї®бўпйс­­ п ‡¤®а®ў®¬г ЋЎа §г †Ё§­Ё (‡Ћ†)');
                        writeln('5. Љ Є Ї®¤¤Ґа¦ вм ⥫® §¤®а®ўл¬ (Їа®Ја ¬¬л ¤«п Ґ¦Ґ¤­Ґў­®Ј® ўлЇ®«­Ґ­Ёп)');
                        writeln('0. ‚®§ўа в ў ЇаҐ¤л¤г饥 ¬Ґ­о');
                        writeln('„«п ўлЎ®а  Є вҐЈ®аЁЁ ­ ЇҐз в ©вҐ Ґс жЁдаг ЎҐ§ в®зЄЁ.');
                        readln(Dial);
                                case Dial of
                                1 : begin end;
                                2 : begin end;
                                3 : begin end;
                                4 : begin end;
                                5 : begin end;
                                0 : end;
                                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                                end;
                        end;
                15:     begin writeln('’®«мЄ® ў б«Ґ¤го饩 ўҐабЁЁ ;-)'); readln() end;
                0 : end; end.
                //else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   ­Ґ Є вҐЈ®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ ­®¬Ґа Є вҐЈ®аЁЁ.');
                end;
        readln();
end.

Здесь оно компилилось, но вызывало ошибки, описанные мною в самом верхнем посте.
Если не получится, буду вставлять в первоночальный вариант (в этом посте - последний) goto.
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

Re: требуется помощь с оператором case

Сообщение sign » 16.08.2011 15:34:02

Держите, двоешник.

Код: Выделить всё
program pupils_utils_1;
var     VibKat,DlyaVib,InNext,NeKat: string;
        // Dial - ЇҐаҐ¬Ґ п ⥪г饣® ¤Ё «®Ј  (ўлЎҐаҐвҐ ...)
        //x,x1,x2,y,y1,y2,z,a,b,c,D: extended
        //a,b,c - Є®нддЁжҐвл ў га ўҐЁпе; x1,x2,y1,y2 - Є®аЁ га ўҐЁ©; x,y,z - ҐЁ§ўҐбвлҐ; D - ¤ЁбЄаЁ¬Ё в

  procedure SelectCategoryMain;
  begin

  end;

  procedure ShowHelp;
  begin

  end;

  procedure ShowLicense;
  begin

  end;

  procedure MainMenu;
  var Dial: integer;
  begin
          Dial:=1;
          while Dial<>0 do
          begin
                  writeln('‚лЎҐаЁвҐ ¤Ґ©бвўЁҐ');
                  writeln('0. ‚л室 Ё§ Їа®Ја ¬¬л');
                  writeln('1. ‚лЎ®а Є ⥣®аЁЁ');
                  writeln('2. Џа®б¬®ва бЇа ўЄЁ');
                  writeln('3. Џа®б¬®ва «ЁжҐ§Ё®®Ј® б®Ј« 襨п');
                  writeln('„«п ўлЎ®а  ¤Ґ©бвўЁп  ЇҐз ⠩⥠ҐЈ® жЁдаг ЎҐ§ в®зЄЁ.');
                  readln(Dial);
                  case Dial of
                          0: Halt;
                          1: SelectCategoryMain;
                          2: ShowHelp;
                          3: ShowLicense;
                          else writeln('‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   Ґ ¤Ґ©бвўЁҐ. Џ®¦ «гз©бв , ўлЎҐаЁвҐ ¤Ґ©бвўЁҐ.');
                  end;
          end;
  end;

begin
        writeln('„®Ўа® Ї®¦ «®ў вм ў Pupils Utils 1.0!');
        writeln();
        writeln();
        writeln('џ  ¤Ґобм, зв® Їа®Ја ¬¬  ў ¬ ЇаЁЈ®¤Ёвбп.');
        writeln();
        VibKat:='‚лЎҐаЁвҐ Є ⥣®аЁо:';
        DlyaVib:='„«п ўлЎ®а  Є ⥣®аЁЁ  ЇҐз ⠩⥠Ґс жЁдаг ЎҐ§ в®зЄЁ.';
        InNext:='’®«мЄ® ў б«Ґ¤го饩 ўҐабЁЁ ;-)';
        NeKat:='‚л ўлЎа «Ё зв®-в® ¤агЈ®Ґ,   Ґ Є ⥣®аЁо. Џ®¦ «г©бв , ўлЎҐаЁвҐ Є ⥣®аЁо.';
        MainMenu;
end.
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: требуется помощь с оператором case

Сообщение YgReEk » 17.08.2011 09:21:46

Чёрт. Спасибо. Такая глупая ошибка... Будут ещё вопросы - отпишусь ;-)
YgReEk
незнакомец
 
Сообщения: 7
Зарегистрирован: 28.07.2011 22:12:26

След.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru