Страница 1 из 1
нужно составить меню к программе
Добавлено: 23 мар 2013, 05:29
Respected
Код: Выделить всё
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
#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) выход.
буду очень рад если кто откликнется!
Re: нужно составить меню к программе
Добавлено: 23 мар 2013, 16:23
Albor
Для начала нужно разбить программу на соответствующие функции, затем запустить бесконечный цикл, где будет диалог с пользователем. Примерно так:
Код: Выделить всё
#include <iostream>
#include <windows.h>
using namespace std;
void showMenu()
{
system("cls");
cout<<"1) Заполнение данных"<<endl;
cout<<"2) Чтение данных"<<endl;
cout<<"3) Выход"<<endl;
}
void inputData(int & data)
{
cout<<"Введите целое число: ";
cin>>data;
cout<<endl;
}
void showData(const int & data)
{
cout<<"Печатаем данные. У нас есть число: "<<data<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "RUS");
int numMenu;// пункт меню
int data=0; // подопытные данные
while(true)// бесконечный цикл
{
showMenu(); // показываем меню
cin>>numMenu; // пользователь вводит пункт меню в виде целого числа
if(numMenu==1) // если выбран пункт 1
inputData(data); // выполняем ввод данных
if(numMenu==2)// если выбран пункт 2
{
showData(data);// показываем данные
// чтобы увидеть данные, т.е. чтобы отображённые данные не затёрлись следующей итерацией цикла
cout<<"Нажмите Enter"; // показываем данные, пока пользователь не нажмёт Enter
cin.get();
cin.get();
cout<<endl;
}
if (numMenu==3) // если выбран пункт 3
break;// прерываем цикл, то есть меню больше не выводится
}
return 0;
}
Re: нужно составить меню к программе
Добавлено: 23 мар 2013, 19:23
Respected
а не могли бы объяснить программу после функции int _tmain(int argc, _TCHAR* argv[]) ?
Re: нужно составить меню к программе
Добавлено: 23 мар 2013, 21:09
Albor
Что конкретно не понятно?
Re: нужно составить меню к программе
Добавлено: 23 мар 2013, 21:43
Respected
а не могли бы прокомментировать каждую строку после int _tmain(int argc, _TCHAR* argv[]) ?
Re: нужно составить меню к программе
Добавлено: 23 мар 2013, 21:57
Albor
Добавил комментарии выше. Я думал, что код достаточно прост для понимания. Да, приведенная программа - это образец. Свою задачу прикрутите самостоятельно, так сказать "по образу и подобию".