Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 91
Записей в блоге: 1
1

Реализация каждого отдельного пункта меню с условием

07.05.2012, 13:55. Показов 814. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста реализовать пункты текстового меню, всего 5 категорий, но каждое меню должно выбираться по вводу определнной цифры или нажатию на нее. пробую через If но пока не получается.. пишу на Линухе. При переходе в каждый раздел будет реализоваться очищение и помещена новая информация, но после у меня должна сохраниться возможность вернуться обратно в главное меню
вот код:
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
#include <stdio.h>
#include <ncurses.h>
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
int menu; // меню
char menus;
cout << endl << "\t 1.";
cout << endl <<"Создание процесса в рамках одной программы";
cout << endl <<"\t(выдача информации о нем)\n";
cout << endl <<"\n\t 2.";
cout << endl <<"Создание дерева процессов";
cout << endl <<"\t(выдача информации о нем)\n";
cout << endl <<"\n\t 3.";
cout << endl <<"Передача управления с помощью функций семейства exec";
cout << endl <<"\t(выдача информации о ней)\n";
cout << endl <<"\n\t 4.";
cout << endl <<"Ожидание завершения процессов с помощью функции семейства wait";
cout << endl <<"\n\t 5.";
cout << endl <<"\t\t Поток";
cout << endl <<"(создание/заверешение/выдача информации о нем)";
cout << endl <<"\n Выберите необходимый пункт меню и введите его цифру";
cout << endl <<"\n -->";
//проверка введеного пункта меню
cin >> menus;
{{if (menus=='1')
cout << endl <<"Правильно\n";
else menus!=1;}
if (menus=='2')
cout << endl <<"Правильно2\n";
else {
cout << endl <<"Вы ввели неверные значения\n";
}}
cout << endl <<"\n Для завершения нажмите <Enter>";
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2012, 13:55
Ответы с готовыми решениями:

Изменение цвета для отдельного пункта меню
Добрый день :) Создал меню по типу &lt;body&gt; &lt;header&gt; &lt;div class=&quot;Top-Menu&quot;&gt; &lt;ul&gt;...

Организовать диалоговое меню: обработка отдельного пункта, при наведении и клике мышкой
Здравствуйте! В Builder c++ -полный ноль. Задание организовать диалоговое меню.Значит я сделал...

Настройки компонентов для всего сайта или для отдельного пункта меню
Здравствуйте.Подскажите пожалуйста,у меня на сайте есть меню.Для каждого пункта меню свои настройки...

Какие общие правила для написания отдельного класса/файла с условием/заданием и отдельного класса с методом решен?
Например: условие задания: public class Main { public static void main(String args) { ...

5
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
07.05.2012, 14:33 2
Попробую помочь. Но сразу говорю - с ncurses не знаком, так что попробовал релизовать без неё.
Проверка производится в функции info():
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
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <ncurses.h>
#include <iostream>
#include <math.h>
#include <cstdlib> // для функции system()
 
using namespace std;
 
void osn(); // основное меню
int info(char menus); // вывод информации
 
int main()
{
    osn();
    cout << endl <<"\n Для завершения нажмите <Enter>";
    return 0;
}
 
void osn()
{
    char menus;
    cout << endl << "\t 1.";
    cout << endl <<"Создание процесса в рамках одной программы";
    cout << endl <<"\t(выдача информации о нем)\n";
    cout << endl <<"\n\t 2.";
    cout << endl <<"Создание дерева процессов";
    cout << endl <<"\t(выдача информации о нем)\n";
    cout << endl <<"\n\t 3.";
    cout << endl <<"Передача управления с помощью функций семейства exec";
    cout << endl <<"\t(выдача информации о ней)\n";
    cout << endl <<"\n\t 4.";
    cout << endl <<"Ожидание завершения процессов с помощью функции семейства wait";
    cout << endl <<"\n\t 5.";
    cout << endl <<"\t\t Поток";
    cout << endl <<"(создание/заверешение/выдача информации о нем)";
    cout << endl <<"\n Выберите необходимый пункт меню и введите его цифру";
    cout << endl <<"\n -->";
    cin >> menus;
    system("clear");
    info(menus);
}
 
int info(char menus)
{
    switch(menus)
    {
        case '1':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case '2':
            cout << "Выбран пункт:\nСоздание дерева процессов" << endl;
            break;
        case '3':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case '4':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case '5':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case 'm':
            osn();
            return 0;
            break;
        case 'e':
            return 0;
            break;
        default:
            cout << "Вы ввели неверные значения" << endl;
    }
    cout << "\nm для выхода в главное меню\n--> ";
    cin >> menus;
    info(menus);
    return 0;
}
1
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 91
Записей в блоге: 1
07.05.2012, 15:23  [ТС] 3
Спасибо огромное)) очень помогло

Добавлено через 13 минут
единсвенный минус, нет очистки экрана
0
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
07.05.2012, 15:52 4
Цитата Сообщение от CryNet Посмотреть сообщение
единсвенный минус, нет очистки экрана
Её заменяет system("clear");
0
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 91
Записей в блоге: 1
07.05.2012, 16:35  [ТС] 5
уже сделал.. еще раз спасибо. Может возникнут еще проблемы, я отпишусь
0
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 91
Записей в блоге: 1
18.05.2012, 18:30  [ТС] 6
как теперь в этом меню сделать еще одно меню? чтобы оно отвечало на отдельные запросы и была возможность выхода в основное меню.. вот попробывал, но не получается, в чем проблема?
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <stdio.h>
#include <stdlib.h>
#include <ncurses.h>
#include <iostream>
#include <math.h>
#include <cstdlib> // для функции system()
 
using namespace std;
 
void osn(); // основное меню
int info(char menu); // вывод информации
 
int main()
{
    osn();
    cout << endl <<"\n Для завершения нажмите <Enter>\n";
    return 0;
}
 
void osn()
{
    char menu;
    cout << endl << "\t 1.";
    cout << endl <<"Создание процесса в рамках одной программы";
    cout << endl <<"\t(выдача информации о нем)\n";
    cout << endl <<"\n\t 2.";
    cout << endl <<"Создание дерева процессов";
    cout << endl <<"\t(выдача информации о нем)\n";
    cout << endl <<"\n\t 3.";
    cout << endl <<"Передача управления с помощью функций семейства exec";
    cout << endl <<"\t(выдача информации о ней)\n";
    cout << endl <<"\n\t 4.";
    cout << endl <<"Ожидание завершения процессов с помощью функции семейства wait";
    cout << endl <<"\n\t 5.";
    cout << endl <<"\t\t Поток";
    cout << endl <<"(создание/заверешение/выдача информации о нем)";
    cout << endl <<"\n Выберите необходимый пункт меню и введите его цифру";
    cout << endl <<"\n -->";
    cin >> menu;
    system("clear");
    info(menu);
}
 
int info(char menu)
{system("clear");
    switch(menu)
    {
        case '1':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
        printf( "\n Тем, кто впервые познакомился с концепцией потоков, изучая программирование для Windows, модель потоков Linux покажется непривычной.",10,5);
       
 
void osn1()
{
    char menu1;
         cout << "\nдля показа листинга введите include1" << endl;
 cout << endl <<"\n -->";
    cin >> menu1;
    info1(menu1);
}
 
int info1(char menu1)
 
   { switch(menu1)
    {
        case '7':
            #include </home/fate/include1.h>
        break;}
 cin >> menu1;
    info1(menu1);
    return 0;
}
 
 
            break;
        case '2':
            cout <<"Выбран пункт:\nСоздание дерева процессов" << endl;
 
            break;
        case '3':
    #include </home/fate/include1.h>
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case '4':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case '5':
            cout << "Выбран пункт:\nСоздание процесса в рамках одной программы" << endl;
            break;
        case 'm':
            osn();
            return 0;
            break;
        case 'e':
            return 0;
            break;
        default:
            cout << "Вы ввели неверные значения" << endl;
    }
    cout << "\n|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\n ";
    cout << "\nm для выхода в главное меню\n ";
    cout << "\ne для выхода из программного комплекса\n--> ";
    cin >> menu;
    info(menu);
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2012, 18:30

Суффикс класса для каждого пункта меню
Добрый день! Может кто сталкивался с расширением позволяющим задавать суффиксы классов для каждого...

Выпадающее меню для каждого пункта ListView
Здравствуйте! Как реализовать подобное меню в списке? Я придумал только с использованием...

Как сделать картинку для каждого пункта меню?
Здравствуйте, есть меню: - Пункт 1 - Пункт 2 -Пункт 3 - .... Хочу менять для каждого пункта...

Как для каждого пункта меню создать свой шаблон?
подскажите как для каждого пункта меню создать свой шаблон? чтобы не нагружать один модулями?

Стилизация asp:Menu, как убрать стрелочки у каждого пункта меню
Добрый день. у меня вопрос есть такое элемент asp:menu вроде хороший такой элемент но есть один...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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