#include <iostream>
#include <iomanip>
using namespace std;
struct Anketa
{
char Fio[64];
int Year;
enum MarryStatus{nomarried,married} Marry;
enum EducationStatus{aver,averspec,highspec} Education;
int Stage;
char Dolj[16];
};
void Print(Anketa Ank);
void Print (Anketa *Arr,int SizeArr);
int Menu (void)
{
cout<<"\t\tМЕНЮ"<<endl;
cout<<"1: Ввод данных"<<endl;
cout<<"2: Печать данных"<<endl;
cout<<"3: Поиск данных"<<endl;
cout<<"4: Выход"<<endl;
cout<<"Ваш выбор :";
int Variant;
cin>>Variant;
return Variant;
}
Anketa InputAnketa(void)
{
Anketa Temp;
system ("cls");
cout<<"\t\t Ввод нового сотрудника"<<endl;
cout<<"Введите ФИО Работника : ";
cin.ignore();
cin.getline(Temp.Fio,64,'\n');
cout<<"Введите год рождения работника: ";
cin>>Temp.Year;
bool Ctrl = false;
while (!Ctrl)
{
Ctrl = true;
cout<<"Введите семеное положение работника (1 - холост(а) / 2- состоит в браке): ";
int Marry;
cin>>Marry;
switch (Marry)
{
case 1 : Temp.Marry = Anketa::nomarried;
break;
case 2 : Temp.Marry = Anketa::married;
break;
default: Ctrl = false;
}
}
Ctrl = false;
while (!Ctrl)
{
Ctrl = true;
cout<<"Введите образование сотрудника (1 - среднее / 2- сред.спец. / 3 - высшее): ";
int Edu;
cin>>Edu;
switch (Edu)
{
case 1 : Temp.Education = Anketa::aver;
break;
case 2 : Temp.Education = Anketa::averspec;
break;
case 3 : Temp.Education = Anketa::highspec;
break;
default: Ctrl = false;
}
}
cout<<"Введите стаж работника (кол-во лет) : ";
cin>>Temp.Stage;
cout<<"Введите должность сотрудника: ";
cin.ignore();
cin.getline(Temp.Dolj,16,'\n');
cout<<endl<<endl<<"\t\t***Добавление выполнено***"<<endl;
system("pause");
system("cls");
return Temp;
}
void Print (Anketa *Arr,int SizeArr)
{
for (int i = 0; i<SizeArr; i++)
{
Print(Arr[i]);
}
}
void Print(Anketa Ank)
{
cout<<setw(16)<<" ФИО "<<setw(12)<<"Год рожд. "<<setw(12)<<"Сем. положение "<<setw(12)<<"Образование "<<setw(10)<<"Стаж "<<setw(12)<<"Должность "<<endl;
cout.setf(ios::left);
setlocale(LC_ALL,".866");
cout<<setw(16)<<Ank.Fio<<setw(12)<<Ank.Year<<setw(12)<<Ank.Marry;
setlocale(LC_ALL,"Russian");
cout<<endl;
}
void main(void)
{
setlocale(LC_ALL,"Russian");
Anketa Arr[20];
int SizeArr = 0;
int InputMenu;
do
{
InputMenu = Menu();
switch (InputMenu)
{
case 1:
Arr[SizeArr] = InputAnketa();
SizeArr++;
break;
case 2:
Print(Arr,SizeArr);
break;
case 3:
break;
}
}
while (InputMenu != 4);
}