1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 188
|
|
1 | |
Как реализовать многоуровневое меню?29.11.2013, 22:12. Показов 8363. Ответов 9
Метки нет (Все метки)
Допустим есть в главном меню пункт 1, пункт 2,пункт 3. При переходе по любому из пунктов программа что то выполняет. Для каждого пункта есть своя функция. Но мне нужно перейти обратно в главное меню. Что делать? GOTO ругают за превращение программы в спагетти, а если в функции одного из пунктов для возвращения назад вызывать функцию главного меню выходит то же самое. Как реализуются такие задачи?
0
|
29.11.2013, 22:12 | |
Ответы с готовыми решениями:
9
Подскажите, как реализовать отрисовку своего меню в окне сторонней игры(cs 1.6)? Многоуровневое меню, как сделать Как в bootstrap сделать многоуровневое меню? как стилизовать многоуровневое меню с неограниченной вложенностью |
19 / 19 / 3
Регистрация: 19.11.2013
Сообщений: 83
|
|
29.11.2013, 22:18 | 2 |
ivan92, используй switch
0
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 188
|
|
29.11.2013, 22:56 [ТС] | 3 |
Нет, switch пригодился бы для перехода по пунктам меню "вглубь". А мне надо наоборот, наружу.
0
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 188
|
|
29.11.2013, 23:05 [ТС] | 5 |
Байт, т.е. тут справедливо будет использовать goto? И как профессиональные в таких случаях поступают?
0
|
19 / 19 / 3
Регистрация: 19.11.2013
Сообщений: 83
|
|
29.11.2013, 23:12 | 6 |
ivan92, а что мешает сделать внешний и внутренний switch?
0
|
Диссидент
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
29.11.2013, 23:15 | 7 |
Если тебе это удобно и ты уверен, что потом разберешься в своей программе - почему бы нет?
Доказано, что без Гоуту всегда можно обойтись. Делает ли это код более внятным - вот в чем вопрос. Сделай, как получится - пусть заработает. Потом выложи свой код (без лишних деталей) сюды. Я уверен, что многие тебе помогут.
1
|
Модератор
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
|
||||||
29.11.2013, 23:28 | 8 | |||||
примерно так
например выбрали 1 в главном меню то 1 если выбрали 1 в субменю то 11 и в зависимости от значения рисовать то или иное меню и выполнять действия
0
|
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 18
|
||||||
29.11.2013, 23:31 | 9 | |||||
Вот пример костяка менюЗдесь надо не забыть использовать system("cls") для очистки экрана от постоянного вывода менюшек.Поправьте ,если где ошибся.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
29.11.2013, 23:34 | 10 |
о каком меню вообще речь идет?
такие задачи как правило возникают в гуях. и люди как правило не пишут велосипеды, а используют готовые библиотеки, в которых все довольно просто и более менее одинаково. создается рутовое меню, в него добавляются пункты с командами (спец объекты, коллбеки или что-то подобное), которые выполняются при выборе пункта меню. так вот все что нужно сделать для программиста - это реализовать команду и пропихнуть ее в нужное место. Если речь идет о самодельном консольном меню. Тут уже кто на что горазд. Никто не мешает реализовать вышеописанную схему: Создается класс меню, в интерфейсе которого есть возожность добавлять пункты и подпункты менюшек. Этот класс отвечает за отображение добавленных пунктов (тексты, какой пункт меню сейчас поселекчен), за обработку нажатия на клавишы (перерисовывать меню при нажатии кнопок навигации, запускать на выполнения команды, которые приписаны к выбранному пункту). Пункты в таком меню могут хранится в виде указателя на узел, который указывает на такой же указатель-родитель и имеет (опционально) список дочерних пунктов и еще команда. Имея указатель на родитель - можно легко переместится к нему, имея список чайлдов - можно легко перемечатся по ним и заходить вглубь, если выбранный чайд имеет своих чайлдов. Это первое что пришло в голову. Вариантов на самом деле масса.
1
|
29.11.2013, 23:34 | |
29.11.2013, 23:34 | |
Помогаю со студенческими работами здесь
10
Как отрисовать многоуровневое меню используя один запрос к базе данных Вертикальное многоуровневое меню, как прикрепить блок с подкатегориями к верху каталога? Многоуровневое меню многоуровневое меню Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |