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

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

Восстановить пароль Регистрация
 
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
23.03.2013, 19:26     нужно составить меню к программе #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
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
 
#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) выход.
буду очень рад если кто откликнется!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
23.03.2013, 20:23     нужно составить меню к программе #2
Respected, а ваша ли это программа тогда?
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
24.03.2013, 16:22  [ТС]     нужно составить меню к программе #3
не, ну я бы сам конечно не сделал, мне помогли) в универе сказали сделать меню, данные записывать в файл. значит меню должно состоять вот из чего: 1) ввод данных 2) чтение данных 3) выход. например при нажатии цифры 1 вводим данные, при нажатии цифры 2 читаем эти данные и т.д.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:25     нужно составить меню к программе #4
Respected, ну так возьмите учебник или почитайте на форумах, информации море а если что-то не понятно. тогда пишите. тупо за вас никто не будет делать...
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
24.03.2013, 16:47  [ТС]     нужно составить меню к программе #5
читал всю ночь, мозг обгуглился, ума не приложу... пришлось писать сюда
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:50     нужно составить меню к программе #6
Respected, а зачем вы тогда пошли учиться на программиста? Я не программист, он разобрался. Тогда совет - сидите пока не поймете. Или хотя бы покажите что вы там пытались сделать.
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 16:52     нужно составить меню к программе #7
бесконечный цикл, внутри которого конструкция switch, решение видится мне таким
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 16:55     нужно составить меню к программе #8
saaresto, какой еще бесконечный цикл? делаем цикл с предусловием, а внутри switch для выбора пункта меню.
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 16:57     нужно составить меню к программе #9
Цитата Сообщение от yoghurt92 Посмотреть сообщение
saaresto, какой еще бесконечный цикл? делаем цикл с предусловием, а внутри switch для выбора пункта меню.
Возможно, я не очень понял условие задачи. У нас есть чётко определенное количество раз, когда мы можем добавить/вывести? Зачем нам тогда вообще вариант "выйти"?
Програмер_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;
}
Учись Студент !!
yoghurt92
373 / 344 / 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";
}
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
24.03.2013, 17:16     нужно составить меню к программе #12
я знаю что ужасный но скажи мне плз..
я дам 100% гарантии что он незнает что такое for или даже if-else
потомучто еслиб знал он бы зделал это без проблем
потомучто я то что я дал это я делал когда-то когда я токо-токо начинал работать с for и if-else
а то то что код ужасен я знаю=)
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 17:20     нужно составить меню к программе #13
Програмер_80лвл, так если показывать, то показывать хороший пример.
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
24.03.2013, 18:02     нужно составить меню к программе #14
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Програмер_80лвл, так если показывать, то показывать хороший пример.
мда...
а тогда как он же будет учится
он просто будет копировать и все это не вариант
пусть гуглит)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 18:12     нужно составить меню к программе
Еще ссылки по теме:

Организация меню в программе C++
C++ Отправка параметров программе из контекстного меню проводника
C++ Меню в программе - бесконечный loop

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

Или воспользуйтесь поиском по форуму:
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.03.2013, 18:12     нужно составить меню к программе #15
Програмер_80лвл, а вы считаете мой пример сложным? Это дается в самом начале...
Yandex
Объявления
24.03.2013, 18:12     нужно составить меню к программе
Ответ Создать тему
Опции темы

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