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

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

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

нужно составить меню к программе - C++

23.03.2013, 19:26. Просмотров 700. Ответов 14
Метки нет (Все метки)

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
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
 
#include <iostream>
using namespace std;
 
struct WORKER 
{
    char surname[40]; 
    char name[40];    
    char post[40];    
    int date;   
};
int main() 
{
    setlocale(LC_ALL, "rus"); 
    int const N = 10; 
    int staj;
    bool f = true; 
    WORKER mass[N]; 
    for( int i = 0; i < N; i++ ) 
    {
        cout << "Введите информацию о сотруднике №" << i+1 << "\n\n";
        cout << " Фамилия: ";    
        cin >> mass[i].surname; 
        cout << " Имя: "; 
    cin >> mass[i].name;
        cout << " Должность: "; 
    cin >> mass[i].post;
        cout << " Год поступление на работу: "; 
    cin >> mass[i].date;
    cout<<"\n";
 
    }
    cout << "Введите стаж работы в организации (текущий год 2013): ";
    cin >> staj;
 
    cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
    for( int i = 0; i < N; i++ ) 
    {
        if( (2013 - mass[i].date) > staj )
        {
            cout << mass[i].surname << endl;
            f = false;
        }
    }
    if(f)
        cout << "\nНет таких людей." << endl;
    system("pause");
    return 0;
}
хотел сделать меню данной программе, никак не могу это сделать. в общем нужно что бы меню состоялось из 3-х пунктов: 1) заполнение данных; 2) чтение данных; 3) выход.
буду очень рад если кто откликнется!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 19:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нужно составить меню к программе (C++):

Меню к программе - C++
кто может помочь сделать меню к програмке(строковый калькулятор) типа 1: ввести выражение 2: запись в файл 3: вивести из файла 4:...

Организация меню в программе - C++
Как правильно организовать меню в консольной программе с помощью switch case? Я делал так, но не змею правильно ли? #include &lt;cstdlib&gt; ...

В магазине работает 5 человек, нужно составить график их работы, нужно что бы каждый день работало по 3 чел - C++
В магазине работает 5 человек, нужно что бы каждый день работало по 3 человека, но что бы через день работы каждый из этих 3 отдыхал, а на...

Как сделать меню в программе? - C++
Всем привет) Есть программа,в ней 4 метода,как сделать так чтоб когда её запускаешь можно было выбрать один из них?? Вот код...

Меню в программе - бесконечный loop - C++
Доброго всем дня. Разными способами пытаюсь сделать меню в программе. Если делать через switch, то всё нормально ровно до тех пор, пока не...

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

14
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
23.03.2013, 20:23 #2
Respected, а ваша ли это программа тогда?
2
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
24.03.2013, 16:22  [ТС] #3
не, ну я бы сам конечно не сделал, мне помогли) в универе сказали сделать меню, данные записывать в файл. значит меню должно состоять вот из чего: 1) ввод данных 2) чтение данных 3) выход. например при нажатии цифры 1 вводим данные, при нажатии цифры 2 читаем эти данные и т.д.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:25 #4
Respected, ну так возьмите учебник или почитайте на форумах, информации море а если что-то не понятно. тогда пишите. тупо за вас никто не будет делать...
1
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
24.03.2013, 16:47  [ТС] #5
читал всю ночь, мозг обгуглился, ума не приложу... пришлось писать сюда
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:50 #6
Respected, а зачем вы тогда пошли учиться на программиста? Я не программист, он разобрался. Тогда совет - сидите пока не поймете. Или хотя бы покажите что вы там пытались сделать.
0
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 16:52 #7
бесконечный цикл, внутри которого конструкция switch, решение видится мне таким
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:55 #8
saaresto, какой еще бесконечный цикл? делаем цикл с предусловием, а внутри switch для выбора пункта меню.
0
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 16:57 #9
Цитата Сообщение от yoghurt92 Посмотреть сообщение
saaresto, какой еще бесконечный цикл? делаем цикл с предусловием, а внутри switch для выбора пункта меню.
Возможно, я не очень понял условие задачи. У нас есть чётко определенное количество раз, когда мы можем добавить/вывести? Зачем нам тогда вообще вариант "выйти"?
0
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
24.03.2013, 17:03 #10
Цитата Сообщение от Respected Посмотреть сообщение
хотел сделать меню данной программе, никак не могу это сделать. в общем нужно что бы меню состоялось из 3-х пунктов: 1) заполнение данных; 2) чтение данных; 3) выход.
буду очень рад если кто откликнется!
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
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
 
#include <iostream>
using namespace std;
 
 void CheckToErorrs(int T,int a,int b)//какое значение //максимальное число //минимальное число
{
    while(T>a||T<b)
    {
        system("cls");// очистить экран
        cout<<"Извините Нет такой команды"<<endl;
        cout<<"\tПовторите Ввод !"<<endl;
        cin>>T;
        system("cls");
    }
 
}
 
struct WORKER 
{
    char surname[40]; 
    char name[40];    
    char post[40];    
    int date;   
};
int main() 
{
    for(;;)
    {
        setlocale(LC_ALL, "rus");
        int t;
        int const N = 10; 
        int staj;
        bool f = true; 
        WORKER mass[N]; 
 
        cout<<"Что вы хотите делать :"<<endl<<"1.Заполнить Даные"
            <<endl<<"2.Вывести Даные"<<endl<<"3.Выход"<<endl;
        cin>>t;
        CheckToErorrs(t,3,1);
        if(t==1)
        {
            for( int i = 0; i < N; i++ ) 
            {
                cout << "Введите информацию о сотруднике №" << i+1 << "\n\n";
                cout << " Фамилия: ";    
                cin >> mass[i].surname; 
                cout << " Имя: "; 
            cin >> mass[i].name;
                cout << " Должность: "; 
            cin >> mass[i].post;
                cout << " Год поступление на работу: "; 
            cin >> mass[i].date;
            cout<<"\n";
            }
        }
        else if(t==2)
        {
            cout << "Введите стаж работы в организации (текущий год 2013): ";
            cin >> staj;
 
            cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
            for( int i = 0; i < N; i++ ) 
            {
                if( (2013 - mass[i].date) > staj )
                {
                    cout << mass[i].surname << endl;
                    f = false;
                }
            }
            if(f)
                cout << "\nНет таких людей." << endl;
            system("pause");
        }
        else if(t==3) exit(0);
        system("cls");
        cout<<"Повторить !\t 1-да 2-Нет"<<endl;
        int k=0;
        cin>>k;
        CheckToErorrs(k,2,1);
        if(k==2) exit(0);
    }
 
    return 0;
}
Учись Студент !!
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 17:09 #11
saaresto, а чем будет отличаться ваш вариант? не легче вывести на экран с сообщение

1 - ввести что-то
2 - вывести что-то
3 - ....
4 - выйти

зачем делать бесконечный? это цикл так же будет выполняться столько раз, сколько потребуется.

Добавлено через 3 минуты
Цитата Сообщение от Програмер_80лвл Посмотреть сообщение
for(;
* * {
* * * * setlocale(LC_ALL, "rus");
* * * * int t;
* * * * int const N = 10;
* * * * int staj;
* * * * bool f = true;
* * * * WORKER mass[N];
cout<<"Что вы хотите делать :"<<endl<<"1.Заполнить Даные"
* * * * * * <<endl<<"2.Вывести Даные"<<endl<<"3.Выход"<<endl;
* * * * cin>>t;
* * * * CheckToErorrs(t,3,1);
* * * * if(t==1)
* * * * {
* * * * * * for( int i = 0; i < N; i++ )
* * * * * * {
* * * * * * * * cout << "Введите информацию о сотруднике №" << i+1 << "\n\n";
* * * * * * * * cout << " Фамилия: "; * *
* * * * * * * * cin >> mass[i].surname;
* * * * * * * * cout << " Имя: ";
* * * * * * cin >> mass[i].name;
* * * * * * * * cout << " Должность: ";
* * * * * * cin >> mass[i].post;
* * * * * * * * cout << " Год поступление на работу: ";
* * * * * * cin >> mass[i].date;
* * * * * * cout<<"\n";
* * * * * * }
* * * * }
* * * * else if(t==2)
* * * * {
* * * * * * cout << "Введите стаж работы в организации (текущий год 2013): ";
* * * * * * cin >> staj;
cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
* * * * * * for( int i = 0; i < N; i++ )
* * * * * * {
* * * * * * * * if( (2013 - mass[i].date) > staj )
* * * * * * * * {
* * * * * * * * * * cout << mass[i].surname << endl;
* * * * * * * * * * f = false;
* * * * * * * * }
* * * * * * }
* * * * * * if(f)
* * * * * * * * cout << "\nНет таких людей." << endl;
* * * * * * system("pause");
* * * * }
* * * * else if(t==3) exit(0);
* * * * system("cls");
* * * * cout<<"Повторить !\t 1-да 2-Нет"<<endl;
* * * * int k=0;
* * * * cin>>k;
* * * * CheckToErorrs(k,2,1);
* * * * if(k==2) exit(0);
* * }
это самый ужасный вариант меню который я видел(извините за грубость, но это так).

вот вырвал из кода у себя пример меню

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
void testFloatList()
{
    wcout << L"Работа со списком:\n";
 
    ListNode Univers;
    int choice, value, pos_el;
 
    instructions();
 
    do{
        cout << "? ";
            cin >> choice;
 
        switch(choice)
        {
            case 1:
                wcout << L"Введите число: ";
                    cin >> value;
                Univers.addAtFront(value);
                Univers.showItem();
                break;
            case 2:
                wcout << L"Введите число: ";
                    cin >> value;
                Univers.addFromBack(value);
                Univers.showItem();
                break;
        }
    }while(choice != 3);
 
    wcout << L"Конец работы со списком!\n";
}
0
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
24.03.2013, 17:16 #12
я знаю что ужасный но скажи мне плз..
я дам 100% гарантии что он незнает что такое for или даже if-else
потомучто еслиб знал он бы зделал это без проблем
потомучто я то что я дал это я делал когда-то когда я токо-токо начинал работать с for и if-else
а то то что код ужасен я знаю=)
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 17:20 #13
Програмер_80лвл, так если показывать, то показывать хороший пример.
0
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
24.03.2013, 18:02 #14
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Програмер_80лвл, так если показывать, то показывать хороший пример.
мда...
а тогда как он же будет учится
он просто будет копировать и все это не вариант
пусть гуглит)
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 18:12 #15
Програмер_80лвл, а вы считаете мой пример сложным? Это дается в самом начале...
0
24.03.2013, 18:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 18:12
Привет! Вот еще темы с ответами:

Подскажите, как сделать меню к программе - C++
Ребят, хелп Я не знаю как делать рабочее меню программы Мне нужно к программе написать меню.. Хелпаните плиз!!!!

Отправка параметров программе из контекстного меню проводника - C++
Здравствуйте))).Помогите пожалуйста решить один вопрос. Текст программы: #include &lt;iostream&gt; int main() { ...

Как сделать меню в программе под DOS, написанную в С++3.0? - C++
Уважаемые программеры! Подскажите, как сделать менюшку в программе под DOS, написанную в С++3.0! Я не знаю, с чего начать!Что вообще надо...

Исправьте пожалуйста ошибку в программе. Там не работает почему то 5 и 6 меню - C++
#include &lt;iostream&gt; // Підключення модулів #include &lt;stdlib.h&gt; #include &lt;cstdio&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; #include...


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

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

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