Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
kol6aca
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 4
#1

Возврат назад в главное меню из подпункта меню - C++

17.07.2012, 17:27. Просмотров 3862. Ответов 5
Метки нет (Все метки)

Добрый вечер, подскажите пожалуйста, как организовать многоуровневое меню? А конкретно, надо из подменю вернуться в предыдущее меню.
Я сделал основное, затем подменю, а вот выйти назад из него не получается, выполняется следующий case из основного меню. Получается сделать только оператором goto, которым я возвращаюсь к началу цикла основного меню.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2012, 17:27     Возврат назад в главное меню из подпункта меню
Посмотрите здесь:

Как вернуться в главное меню! - C++
Всем привет!Я сделал простенькую программу,которая записывает что-то в файл и выводит то,что введено. Так вот я не могу сделать так,чтобы...

Главное меню с подменю и поиск - C++
Доброго времени суток. Собственно возник вопрос , как сделать в консольном приложении главное меню и подменю с функцией возврата в...

Как зделать главное меню гуёвой программы? - C++
Среда codeblocks.

Создать главное меню из 5 cpp файлов.работа в консольке - C++
Есть 5 рабочих программ-файлов на различные тематики. Их нужно поместить в одну главную програмку с меню,для того чтоб выбирать какую...

Возврат в меню из if - C++
Вот написал такую штуку. Сначала хотел через switch что-то не вышло бросил затею. Вопщем как сделать чтоб возврощало в меню ? ...

В программе создать главное и контекстное меню. Вывести справку о разработчике - C++
Вывести на экран все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру;

Возврат в меню не работает - C++
Запускаю программу, нажимаю начать тест, показывает что тест начался, выполняю тест, после завершения теста он выдает мне сколько баллов я...

Разработать программу, в которой будет организовано меню, выбор функций меню - C++
Разработать программу, в которой будет организовано меню, выбор функций меню должно быть организовано по функциональной клавише. Вся...

Разработка меню, управление курсором в меню - C++
Задание: Написать программу для опроса нажатых клавиш, определения вида нажатой клавиши и передачи управления на соответствующую метку. При...

Реализация меню. Массив элементов меню - C++
Приветствую. Решил хранить элементы меню в массиве. Вот только элементы - это разные структуры. То есть, CheckBox, InputBox, Submenu - все...

Вызов меню из меню - C++
Добрый день, начал писать простую программку что бы попрактиковаться. В программе даётся 3 пункта меню, нужно что бы при нажатии на любой...

Меню - C++
Народ помогите написать менюшку.. типо: Start Options Exit Я могу написать только чтением с клавы 1start 2options 3exit ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
17.07.2012, 18:57     Возврат назад в главное меню из подпункта меню #2

Не по теме:

Дети, использование оператора goto небезопасно в домашних условиях (с)


А чем Вас не устраивает цикл
C++
1
while(true)
или другой какой то?
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
17.07.2012, 19:09     Возврат назад в главное меню из подпункта меню #3
break; после каждого case, а возвращать циклом,, как написали выше
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
17.07.2012, 19:12     Возврат назад в главное меню из подпункта меню #4
Применение goto для выхода из глубокого цикла в принципе не такой то уж и плохой поступок. Как вариант заведите переменную bool flag и всюду проверяйте что в ней чтобы ориентироваться заходили ли вы уже в подменю или это только первый проход, но с goto в данном случае код будет выглядеть значительно проще.
kol6aca
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 4
18.07.2012, 00:06  [ТС]     Возврат назад в главное меню из подпункта меню #5
ну вот пример, выход в главное осуществляем с помощью goto. все-таки хотелось бы его избежать, только я не знаю, куда пихать еще один цикл while(true)?
если убрать goto, то при нажатии "вернуться в главное меню", то прога выводит "press any key" и выходит из программы..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <tchar.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
int main()
{
unsigned int counter;
bool exit=false;
 
loop:
 
while (!exit)
{                   //начало внешнего while
cout<<"----------MENU----------";
cout<<"\n[1] show a"<<"\n[2] exit"<<endl;
        cin>>counter;
        switch (counter)
            {       //начало внешнего switch
            case 1:
                {              //начало case 1
                cout<<"a"<<endl;
                while(!exit)
                    {       //начало внутреннего while
                    cout<<"----------UNDER_MENU----------";
                    cout<<"\n[1] show c"<<"\n[2] show b"<<"\n[3] show e"<<"\n[4] show h"<<"\n[5] show i"<<"\n[0] back to main"<<endl;
                        cin>>counter;
                        switch (counter)
                            {            //начало внутреннего switch
                            case 1:
                                cout<<"c"<<endl;;
                                break;
                            case 2:
                                 cout<<"b"<<endl;
                                 break;
                            case 3:
                                cout<<"e"<<endl;
                                break;
                            case 4:
                                 cout<<"h"<<endl;
                                 break;
                            case 5:
                                cout<<"i"<<endl;
                                break;
                            case 0:
                                goto loop;   //как избежать этого?
                                exit=true;
                                break;
 
                            }           //конец внутреннего switch
                    }  //конец внутреннего while
                }    //конец case 1
            case 2:
                {
                exit=true;
                cout<<"Press any key for exit...\n";
                break;
                }
            }  //конец внешнего switch
}   //конец внешнего while
getch();
return 0;
}
ValeryS
Модератор
6534 / 5000 / 460
Регистрация: 14.02.2011
Сообщений: 16,630
18.07.2012, 01:02     Возврат назад в главное меню из подпункта меню #6
Цитата Сообщение от kol6aca Посмотреть сообщение
ну вот пример, выход в главное осуществляем с помощью goto.
ну и сделай каждое подменю отдельной функцией
что то типа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
switch(ch1)
{
 case '1'
    fnc1();
   break:
 case '2'
    fnc2();
   brear;
...........................
 
void fnc1()
{
..............
switch(ch2)
{
  case '1':
   ........
  break;
 case '2':
   ........
  break;
 case '3':
   return;
 }
}
Добавлено через 4 минуты
таким способом хоть сто вложений сделаешь

Добавлено через 43 минуты
Цитата Сообщение от kol6aca Посмотреть сообщение
если убрать goto, то при нажатии "вернуться в главное меню", то прога выводит "press any key" и выходит из программы..
Цитата Сообщение от kol6aca Посмотреть сообщение
} //конец внутреннего while
} //конец case 1
case 2:
{
exit=true;
а брек после первого касе кто делать будет???
Yandex
Объявления
18.07.2012, 01:02     Возврат назад в главное меню из подпункта меню
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru