Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 17:16   #1
L_Killer
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 19
Сообщение Case (Pascal)

Пытаюсь сделать вложенную менюшку из кейсов, а компилятор ругается при переходе на вторую ветку. может вложенный вообще делать нельзя и замутить все это дело как-нибудь через процедуры - просто засунуть туда вызов нескольких других процедур и просто вызывать через кейс и не париться с вложенностью - не было бы это решение тупым? Как решить эту проблему? просто раньше такой нужды не возникало.
L_Killer вне форума Ответить с цитированием
Старый 19.12.2010, 17:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
может вложенный вообще делать нельзя
Можно. показывай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2010, 18:11   #3
L_Killer
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 19
По умолчанию

Код:
begin
	  list_init(Last,start);
     w:=0;
     while w<>11 do begin
     readln(w);
     case w of

          1 :begin
               readln(w2);
               case w2 of
               1: begin
                  	readln(e);
                  	readln(k);
                  	readln(br);
                  	readln(vr);
                  	Add_first(last,start,e,k,br,vr);
            	end;

          	2: begin
                  	readln(e);
                  	readln(k);
                  	readln(br);
                  	readln(vr);
                  	Add_last(start,last,e,k,br,vr);
            	end;
            end;    

          2: begin              {и вот тут он на двойку ругается, пишет, что 
                                   идентификатор не объявлен или не видем в этом блоке}
               readln(w3);
               case w3 of
          			1: del_first(last,start);
          			2: del_last(last,start);
          	end;
     end;
     end;
     end;
end.
L_Killer вне форума Ответить с цитированием
Старый 19.12.2010, 18:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
            	end;
            end;  
     end;
Забыл ты еще один )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2010, 20:40   #5
L_Killer
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 19
По умолчанию

И правда! Спасибо, а то что-то я совсем затупил))
L_Killer вне форума Ответить с цитированием
Старый 19.12.2010, 21:21   #6
iBuTTHead
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 35
По умолчанию

Совет (хотите не воспринимайте):

Чтобы исключить такие ошибки. стройте сначала скелет оператора а зачем начинайте писать код в тела.

Пример:

Код:
if then
    begin
    
    end
else
    begin
    
    end;
И вы будете уверены что программа будет функционировать так как вы планировали.
iBuTTHead вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Case система. Delphi и Pascal. Asblue Помощь студентам 0 26.11.2010 20:54
Изменить приведенную программу, используя оператор варианта CASE(Pascal) Nitoo Помощь студентам 2 29.09.2010 15:16
сравнить 2 integer переменные БЕЗ IF или CASE (Pascal) dyonysos Помощь студентам 8 02.02.2010 17:51
задача с оператором case (Pascal) kena Помощь студентам 4 17.05.2009 12:54