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

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

Восстановить пароль Регистрация
 
CryNet
0 / 0 / 1
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
07.05.2012, 13:55     Реализация каждого отдельного пункта меню с условием #1
Помогите пожалуйста реализовать пункты текстового меню, всего 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>";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
elivin
65 / 65 / 1
Регистрация: 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;
}
CryNet
0 / 0 / 1
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
07.05.2012, 15:23  [ТС]     Реализация каждого отдельного пункта меню с условием #3
Спасибо огромное)) очень помогло

Добавлено через 13 минут
единсвенный минус, нет очистки экрана
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
07.05.2012, 15:52     Реализация каждого отдельного пункта меню с условием #4
Цитата Сообщение от CryNet Посмотреть сообщение
единсвенный минус, нет очистки экрана
Её заменяет system("clear");
CryNet
0 / 0 / 1
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
07.05.2012, 16:35  [ТС]     Реализация каждого отдельного пункта меню с условием #5
уже сделал.. еще раз спасибо. Может возникнут еще проблемы, я отпишусь
CryNet
0 / 0 / 1
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 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;
}
Yandex
Объявления
18.05.2012, 18:30     Реализация каждого отдельного пункта меню с условием
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru