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

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

Войти
Регистрация
Восстановить пароль
 
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

Создать меню - C++

26.02.2010, 23:45. Просмотров 1000. Ответов 11
Метки нет (Все метки)

Здрасти, мне в универе задали сделать меню(есть вложенности). Я подумал что меню можно сделать с помощью классов и без них. Остановился на классах. Так вот, как лучше сделать: чтобы само меню было классом а его пункты подклассами, или пункты сделать классами а само меню подклассом, или меню-класс а его пункты-объекты класса, вообщем затрудняюсь как лучше сделать, подскажите. (яз с++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2010, 23:45     Создать меню
Посмотрите здесь:

создать меню - C++
помогите создать меню в ВС+ с такими пунктами about edit Show prog run exit

Создать меню - C++
Создать меню с командами Input, Work, Exit. При выборе команды Exit приложение завершает работу. При выборе команды Input открывается...

создать меню - C++
#include<iostream.h> #include<conio.h> #include<stdlib.h> // объявление функции INPT(int a, int k,int l); PRNT(int a, int k,...

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

Необходимо создать меню к игре - C++
Я новичек, поэтому мне сложнова-то обьяснить. Мне необходимо создать меню к игре: 1. появляется окно - в нем пункты - правила игры, новая...

Помогите создать меню в консоли - C++
Есть код игры змейка и надо сделать меню тут же в консоли, самое простое, в котором есть 'Старт' и 'Выход', а выбор осуществляется...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
27.02.2010, 00:27     Создать меню #2
PointsEqual, делайте древовидную структуру меню без классов, с использованием только кейсов
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.02.2010, 00:30  [ТС]     Создать меню #3
почиму кейсами?( классами ведь лучше
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
27.02.2010, 00:32     Создать меню #4
PointsEqual, я не вижу смысла в использовании для этой задачи классов. Зачем нужен лишний перерасход времени, памяти и усложнение элементарного кода?
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.02.2010, 00:35  [ТС]     Создать меню #5
ну например есть меню:
1
2
3
4
при на жатии на 3, правее этого меню у меня должно выпасть подменю:
3.1
3.2
3.3

без классов разве проще это?
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
27.02.2010, 00:47     Создать меню #6
PointsEqual, на сколько я понял, то программа консольная. Такой код еще никто не отменял
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch(key)
{
    case 1:
        ...
        switch(subkey)
        {
            case 1:
                 ...
                 break;
            ...
        }
        break;
    case 2:
    ...
}
easybudda
Эксперт CЭксперт С++
9466 / 5479 / 927
Регистрация: 25.07.2009
Сообщений: 10,503
27.02.2010, 01:07     Создать меню #7
PointsEqual, Можно заморочиться создав класс для команд меню и класс-контейнер типа стек, в который будут помещаться объекты команд меню... Но это слишком заумно, тем более - для консольного приложения.
M128K145, предложил Вам классическую схему, которая, кстати, применяется не только для создания разветвлённого меню. В виндовс примерно так же сообщения обрабатываются... Вот
пример
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
    switch ( Message ) {
        ...
        case WM_VSCROLL :
            switch ( LOWORD(wParam) ){
                case SB_LINEDOWN :
                    if ( nVPos < nVDif )
                        ++nVPos;
                    break;
                case SB_LINEUP :
                    if ( nVPos > 0 )
                        --nVPos;
                    break;
                case SB_THUMBTRACK :
                    nVPos = HIWORD(wParam);
                    break;
            }
            SetScrollPos(hWnd, SB_VERT, nVPos, TRUE);
            InvalidateRect(hWnd, NULL, TRUE);
            return 0;
        case WM_HSCROLL :
            switch ( LOWORD(wParam) ){
                case SB_LINEDOWN :
                    if ( nHPos - nHDif )
                        ++nHPos;
                    break;
                case SB_LINEUP :
                    if ( nHPos > 0 )
                        --nHPos;
                    break;
                case SB_THUMBTRACK :
                    nHPos = HIWORD(wParam);
                    break;
            }
            SetScrollPos(hWnd, SB_HORZ, nHPos, TRUE);
            InvalidateRect(hWnd, NULL, TRUE);
            return 0;
        ...
    }
    return DefWindowProc(hWnd, Message, wParam, lParam);
кода, обрабатывающего прокрутку окна... Короче, если нет достаточно веской причины создавать классы, настоятельно рекомендую этим методом воспользоваться.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.02.2010, 01:15  [ТС]     Создать меню #8
за код спасибо.
можно по подробнее про "класс для команд меню"? что в него класть
easybudda
Эксперт CЭксперт С++
9466 / 5479 / 927
Регистрация: 25.07.2009
Сообщений: 10,503
27.02.2010, 01:35     Создать меню #9
PointsEqual, хороший пример создания меню с помощью классов есть в книжке "Стандартная библиотека С++ на примерах" П. Халперн. Она у меня бумажная, перепечатывать три страницы ломает, если честно... Но всё-таки со switch/case и проще, и нагляднее...
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.02.2010, 10:23  [ТС]     Создать меню #10
easybudda, посмотрел я эту книгу, ну кейсами полегче будит.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.03.2010, 21:28  [ТС]     Создать меню #11
M128K145, я сделал меню кейсами, это самый выгодный вриант), как ты в начале и сказал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2010, 22:15     Создать меню
Еще ссылки по теме:

Создать программу - меню «Калькулятор». - C++
Создать программу - меню «Калькулятор». В программе реализовать следующие операции: 1 очистка результата 2 добавление (вычитание) к...

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

Создать такое меню как в Far Cry 3 - C++
Только Windows 7+ Вот все игры и не тоько имеют необычный интерфейс и особенно стиль окон и кнопок вот допустим игра far cry 3 имеет...

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

создать Меню или же Команды программы - C++
столкнулся с проблемой,у меня есть прога,хочу прикруть меню к ней,скажем есть ввести clear то сделать то что я скажу,но не получается вот...

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


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

Или воспользуйтесь поиском по форуму:
neonneo
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 4
22.11.2010, 22:15     Создать меню #12
А возможно ли в switch и case добавить функции добавления ветви (прошу прощения за тавтологию),удалении и переименования?
Если да, то подскажите как это реализовать?
Yandex
Объявления
22.11.2010, 22:15     Создать меню
Ответ Создать тему
Опции темы

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