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

Реализация меню - C++

Восстановить пароль Регистрация
 
TheSecret
10 / 25 / 1
Регистрация: 20.09.2013
Сообщений: 461
26.12.2013, 16:46     Реализация меню #1
сейчас для переключения по пунктам меню надо вводить номер пункта меню, а надо чтоб курсором переключалось!
вот код с обычным меню:
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
do {
cout<<rus("\t Меню: *")<<endl;
cout<<rus("\t 1.Просмотр списка товаров")<<endl;
cout<<rus("\t 2.Добавление товара в конец списка")<<endl;
cout<<rus("\t 3.Добавление товара в произв.место списка")<<endl;
cout<<rus("\t 4.Сохранение товаров в файл (Продолжение записи)")<<endl;
cout<<rus("\t 5.Сохранение товаров в файл (Новая запись)")<<endl;
cout<<rus("\t 6.Чтение базы товаров с файла")<<endl;
cout<<rus("\t 7.Поиск товара")<<endl;
cout<<rus("\t 8.Удаление товара по номеру")<<endl;
cout<<rus("\t 9.Очистка списка")<<endl;
cout<<rus("\t ------------------------")<<endl;
cout<<rus("\t 10.Покупка товаров")<<endl;
cout<<rus("\t 11.Просмотр корзины")<<endl;
cout<<rus("\t 12.Сохранение купленных товаров в файл")<<endl;
cout<<rus("\t 13.Чтение корзины с файла")<<endl;
cout<<rus("\t 14.Выписка счета")<<endl;
cout<<rus("\t 15.Удаление товара из корзины")<<endl;
cout<<rus("\t 16.Очистка корзины")<<endl;
cout<<rus("\t 17.Касса")<<endl;
cout<<"-----------------------------"<<endl;
cout<<rus("0.Выход")<<endl;
cout<<rus("* Введите номер пункта")<<endl;
cin>>menu;
 
    switch(menu) {
        // Просмотр списка товаров
        case 1:
        print_products(Ps);
        break;
 
        // Добавление товара в список
        case 2:
        input_product(D);
        add_element_struct(&Ps,D);
        break;
 
        // Вставка в произвол.место
        case 3:
        input_product(D);
        insert_element_struct(&Ps,D);
        break;
 
        // Сохранение в файл списка
        case 4:
        save_struct(Ps,1);
        cout<<"-------------------------------"<<endl;
        cout<<rus("Список товаров сохранен")<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
         // Сохранение в файл (перезапись)
        case 5:
        save_struct(Ps,0);
        cout<<"-------------------------------"<<endl;
        cout<<rus("Список товаров сохранен")<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
        // Чтение с файла
        case 6:
        clear_struct(&Ps);
        read_database(&Ps);
        break;
 
        // Поиск товара
        case 7:
        search_product(Ps);
        break;
 
        // Удаление товара по номеру
        case 8:
        delete_product(&Ps,0);
        break;
 
         // Очистка
        case 9:
        clear_struct(&Ps);
        cout<<"-------------------------------"<<endl;
        cout<<rus("Список очищен")<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
 
        //--------------------------------------------------//
 
        // Покупка товара
        case 10:
        buy_product(Ps,&BPs);
        break;
 
        // Просмотр корзины
        case 11:
        print_buy_products(BPs);
        break;
 
        // Сохранение в файл купленных товаров
        case 12:
        save_buy_struct(BPs);
        cout<<"-------------------------------"<<endl;
        cout<<rus("Список купленных товаров сохранен")<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
        // Сохранение в файл купленных товаров
        case 13:
        clear_buy_struct(&BPs);
        read_buy_database(&BPs);
        break;
 
        // Выписка счета
        case 14:
        see_factura_product(&BPs);
        break;
 
        // Удаление товара из корзины
        case 15:
        delete_buy_product(&BPs,0);
        break;
 
          // Очистка корзины
        case 16:
        clear_buy_struct(&BPs);
        cout<<"-------------------------------"<<endl;
        cout<<rus("Список купленных товаров очищен")<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
        case 17:
        cout<<"-------------------------------"<<endl;
        cout<<rus("Денег в кассе: ")<<zena<<endl;
        cout<<"-------------------------------"<<endl;
        break;
 
        //--------------------------------------------------//
        // Выход
        case 0:
        clear_struct(&Ps);
        clear_buy_struct(&BPs);
        break;
 
 
        default: cout<<rus("Выбран не существующий пункт меню")<<endl;
    }
} while (menu!=0);
если так нельзя, то переделайте пожалуйста чтоб когда человек вводит не только цифру, а еще и какой либо символ, этот символ как бы удалялся и оставались только цифры, как бы типа запрета на ввод других символов кроме цифр или просто удаление со строки всех символов кроме цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
26.12.2013, 17:21     Реализация меню #2
Попробуйте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//#include<conio.h>
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Enter the number: " << endl;
    double d;
    while (!(cin >> d) || cin.peek() != '\n')
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Error! Retry input\n";
        cout << "Enter the number: " << endl;
 
    }
 
    cout << d << endl;
 
    return 0;
}
TheSecret
10 / 25 / 1
Регистрация: 20.09.2013
Сообщений: 461
26.12.2013, 18:09  [ТС]     Реализация меню #3
Цитата Сообщение от Genn55 Посмотреть сообщение
Попробуйте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//#include<conio.h>
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Enter the number: " << endl;
    double d;
    while (!(cin >> d) || cin.peek() != '\n')
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Error! Retry input\n";
        cout << "Enter the number: " << endl;
 
    }
 
    cout << d << endl;
 
    return 0;
}
double не воспринимает борланд 3.1
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
26.12.2013, 18:16     Реализация меню #4
У меня Code::Block,а вдругих я не работал.
outoftime
26.12.2013, 18:56     Реализация меню
  #5

Не по теме:

Genn55, cmd, MinGW, Notepad++, make

Yandex
Объявления
26.12.2013, 18:56     Реализация меню
Ответ Создать тему
Опции темы

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