Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
nolan
0 / 0 / 0
Регистрация: 21.11.2016
Сообщений: 5
#1

Реализация меню пользователя - C++

22.11.2016, 13:50. Просмотров 271. Ответов 1
Метки нет (Все метки)

Добрый день! Помогите реализовать меню пользователя, состоящее как минимум из 4-х пунктов:
a. ввод данных;
b. обработка данных;
c. вывод результата на экран;
d. выход.

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
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    puts("Введите текст");
 
    struct is_punct
    {
        bool operator ()(std::string::value_type ch) const
        {
            return punct.find(ch) != std::string::npos;
        }
        explicit is_punct(std::string const& p) : punct(p) {}
 
    private:
        std::string punct;
    };
    {
        std::string str;
        getline(std::cin, str);
        std::cout << std::count_if(str.begin(), str.end(), is_punct(".,:;'"()!?-")) << std::endl;
    }
    puts("Обработка текста завершена");
    {
        system("pause");
        {
            return 0;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2016, 13:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализация меню пользователя (C++):

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

Реализация графического интерфейса пользователя в приложениях WinAPI. Ошибка default - C++
Сама программа: // фывфвфыв.cpp: определяет точку входа для приложения. // #include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include...

Реализация меню - C++
сейчас для переключения по пунктам меню надо вводить номер пункта меню, а надо чтоб курсором переключалось! вот код с обычным меню: do...

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

Реализация разветвляющегося меню в консоли - C++
Привет!, Помогите написать код что бы При Нажатие клавиши 1 выполнился код после if (option == 1) #include &lt;iostream&gt; using...

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

1
moskitos80
64 / 64 / 10
Регистрация: 04.10.2011
Сообщений: 232
Завершенные тесты: 1
22.11.2016, 15:30 #2
Вот можно добавлять свои обработчики, надеюсь разберетесь... получилось даже немножко интерактивненько

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
#include <iostream>
#include <vector>
#include <map>
 
#if defined(_WIN32) || defined(_WIN64)
    const char* CLEAR_SCREEN = "cls";
#else
    const char* CLEAR_SCREEN = "clear";
#endif
 
////////////////////////////////////////////////////////////////////////////////
 
typedef std::map<char, std::string> Menu;
typedef void (* menuHandler )(const Menu & menu, char choice);
typedef std::map<char, menuHandler> MenuSwitcher;
 
////////////////////////////////////////////////////////////////////////////////
 
void print_header(const std::string & text, std::size_t length = 79, char chr = '-')
{
    std::string hr;
    hr.insert(0, length, chr);
 
    std::cout << hr   << std::endl
              << text << std::endl
              << hr   << std::endl;
}
 
void render_menu(const Menu & menu, char choice = '-') {
    print_header("Select option");
    for(auto item: menu) {
        if (item.first == choice) { std::cout << "->"; }
        std::cout << "\t" << item.first << '.' << item.second << std::endl;
    }
}
 
////////////////////////////////////////////////////////////////////////////////
 
void inputDataScreen(const Menu & menu, char choice) {
    system(CLEAR_SCREEN);
    render_menu(menu, choice);
 
    std::cout << std::endl << "ВВОД ДАННЫХ" << std::endl;
    // ... тут код ввода данных
}
 
void processDataScreen(const Menu & menu, char choice) {
    system(CLEAR_SCREEN);
    render_menu(menu, choice);
 
    std::cout << std::endl << "ОБРАБОТКА ДАННЫХ" << std::endl;
    // ... тут код обработки данных
}
 
void outputDataScreen(const Menu & menu, char choice) {
    system(CLEAR_SCREEN);
    render_menu(menu, choice);
    std::cout << std::endl << "ВЫВОД ДАННЫХ" << std::endl;
    // ... тут код вывода данных
}
 
const int EXIT_ACTION = 1;
void exitScreen(const Menu & menu, char choice) {
    system(CLEAR_SCREEN);
    std::cout << "ПОКДА ;)" << std::endl;
    throw EXIT_ACTION;
}
////////////////////////////////////////////////////////////////////////////////
 
int main()
{
    setlocale(LC_ALL, "ru-RU.utf8");
 
    Menu menu = {
            {'a', "ввод данных;"},
            {'b', "обработка данных;"},
            {'c', "вывод результата на экран;"},
            {'d', "выход."}
    };
 
    MenuSwitcher switcher = {
            {'a', inputDataScreen},
            {'b', processDataScreen},
            {'c', outputDataScreen},
            {'d', exitScreen},
    };
 
    render_menu(menu, '-');
 
    for(char choice; std::cin >> choice; ) {
        try{
            switcher.at(choice)(menu, choice);
        } catch (const std::out_of_range & err) {
            system(CLEAR_SCREEN);
            std::cout << "I don`t understand your input try again ..." << std::endl;
            render_menu(menu, choice);
        } catch (int) { break; }
    }
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 15:30
Привет! Вот еще темы с ответами:

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

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

Интерфейс пользователя типа "меню" - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; using namespace std; const int n = 4; ...

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


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

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

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