Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include<conio.h>
- #include<cctype>
- #include <Windows.h>
- using namespace std;
- void SetColor_1(int text, int bg) {
- HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hStdOut, (WORD)((bg << 4) | text));
- }
- void SetColor(int color)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
- }
- struct Employee
- {
- int id;
- char name[80];
- char position[80];
- int time_work;
- int time_month;
- int salary;
- };
- void PrintEmployee(Employee std);
- void PrintTable(Employee* stds, int size);
- void Table_main();
- void ChangeData(Employee emp[], int id, int size);
- void Add(Employee* emp, int size);
- //void Show(Labor_Accounting a, Timesheet b)
- //{
- // cout << "Name: " << b.Name << endl;
- // cout << "Position: " << b.Position << endl;
- // cout << "Hours per month: " << a.working_hours << endl;
- // cout << "Hours worked: " << b.hours_worked << endl;
- // cout << "Hours not worked: " << a.working_hours - b.hours_worked << endl;
- // cout << "Salary: " <<(float)(b.hours_worked * a.salary) / a.working_hours << endl;
- //
- //}
- void main()
- {
- setlocale(LC_ALL, "ukr");
- const int size = 4;
- char choose = NULL;
- Employee* emp = new Employee[4]
- {
- Employee{ 1,"Ivanchuk S.O","бухгалтер",50,3, 15001 },
- Employee{ 2,"Panachenko I.A","бухгалтер",52,4,60000 },
- Employee{ 3,"Zayec I.M","бухгалтер",34,6,35000 },
- Employee{ 4,"Kravchenko Z.I","бухгалтер",39,5,28000 }
- };
- PrintTable(emp, 4);
- while (true) {
- SetColor(6);
- cout << "\t\t\t\t\tМЕНЮ" << "\n\t\t1.Перегляд даних про всiх спiвробiтникiв " << "\n\t\t2.Доповнення бази даних новим спiвробiтником " <<
- "\n\t\t3.Видалення iз бази даних спiвробiтника " << "\n\t\t4.Упорядкування спiвробiтників " << "\n\t\t5.Пошук спiвробiтника" << "\n\t\t6.Змiна посади спiвробiтника " <<
- "\n\t\t7.Обчислення: середня кiлькiсть..." << endl;
- SetColor(15);
- cout << "Мiй вибiр - ";
- cin >> choose;
- cin.ignore();
- switch (choose)
- {
- case '1': //DONE
- system("cls");
- PrintTable(emp, size+1);
- break;
- case '2':
- system("cls");
- Add(emp, size+1);
- PrintTable(emp, size+1);
- break;
- case '3':
- system("cls");
- break;
- case '4':
- system("cls");
- break;
- case '5':
- system("cls");
- break;
- case '6': // DONE
- system("cls");
- cout << "Enter id: ";
- int id;
- cin >> id;
- ChangeData(emp, id, size);
- break;
- case '7':
- system("cls");
- break;
- default:
- SetColor(9);
- system("cls");
- cout << "Не вiрно набраний текст!";
- SetColor(15);
- break;
- }
- SetColor(3);
- cout << "\n\nБажаєте вернутися до поточної сторiнки? y/n ";
- cin >> choose;
- //choose = _getch();
- system("cls");
- SetColor(15);
- if (choose == 'n') { delete[]emp; break; }
- }
- //delete[]emp;
- }
- void PrintTable(Employee* stds, int size)
- {
- Table_main();
- for (int i = 0; i < size; i++)
- {
- /*cout << setw(10) << i + 1 << ". ";*/
- PrintEmployee(stds[i]);
- }
- }
- void PrintEmployee(Employee std)
- {
- cout << setw(11) << std.id << setw(8);
- cout << setw(15) << std.name << setw(8);
- cout << setw(15) << std.position << setw(8);
- cout << setw(10) << std.time_work << setw(8);
- cout << setw(18) << std.time_month << setw(8);
- cout << setw(21) << std.salary << setw(8);
- cout << endl;
- cout << endl;
- }
- void Table_main()
- {
- cout << setw(11) << "№ " << setw(15) << "| ПIБ |" << setw(13) << "| ПОСАДА |" << setw(12) << "|ВIДПРАЦЬОВАНI|" << setw(8) << "| К-ТЬ НЕРОБОЧИХ ДНIВ |" << setw(13) << "| ЗАРПЛАТНЯ |" << endl;
- cout << setw(10) << " " << setw(16) << " | |" << setw(13) << "| |" << setw(12) << "| ГОДИНИ |" << setw(8) << "| ЗА МIСЯЦЬ |" << setw(13) << "| |" << endl;
- cout << " _______________________________________________________________________________________________" << endl;
- }
- void ChangeData(Employee emp[], int id, int size)
- {
- char ch;
- int ch_1;
- for (int i = 0; i < size; i++)
- {
- if (emp[i].id == id)
- {
- PrintTable(emp, size);
- cin.ignore();
- cout << "Введiть нову посаду: ";
- cin.getline(emp[i].position, 80);
- }
- }
- cout << "Ви бажаєте ще щось вiдредагувати? y/n - ";
- cin >> ch;
- if (ch == 'y')
- {
- SetColor(8);
- cout << "\n\n\t\tОберiть що саме ви бажаєте вiдредагувати:" <<
- "\n\t\t1.ПIБ" <<
- "\n\t\t2.К-ть вiдпрацьованих годин" <<
- "\n\t\t3.К-ть неробочих днів за мiсяць";
- SetColor(15);
- cout << "\n\n\tВаш вибiр - ";
- cin >> ch_1;
- switch (ch_1)
- {
- case 1:
- for (int i = 0; i < size; i++)
- {
- if (emp[i].id == id)
- {
- cout << "\nВведiть ПIБ: ";
- cin >> emp[i].name;
- }
- }
- break;
- case 2:
- for (int i = 0; i < size; i++)
- {
- if (emp[i].id == id)
- {
- cout << "\nВведiть к-ть вiдпрацьованих годин: ";
- cin >> emp[i].time_work;
- }
- }
- break;
- case 3:
- for (int i = 0; i < size; i++)
- {
- if (emp[i].id == id)
- {
- cout << "\nВведiть к-ть неробочих днiв за мiсяць : ";
- cin >> emp[i].time_month;
- }
- }
- break;
- default:
- system("cls");
- SetColor(9);
- cout << "Помилка! Будь ласка, введiть данi ще раз";
- SetColor(15);
- break;
- }
- }
- } //
- void Add(Employee* emp, int size)
- {
- //int id;
- //char* name;
- //char position[80];
- //int time_work;
- //int time_month;
- //int salary;
- ////Employee em;
- //cin >> id;
- //cin >> name;
- //emp = new Employee[1]
- //{
- emp = new Employee[5]{5, "d","df",50,3, 15001};
- //};
- //emp->id = 5;
- //cin >> emp->name;
- //cin >> emp->position;
- //emp->salary = 9;
- //emp->time_month = 9;
- //emp->time_work = 11;
- //for (int i = 5; i < 6; i++)
- //{
- //emp[4] = emp[0];
- //}
- PrintTable(emp, 4+1);
- //char** temp = new char* [size + num];
- //for (int i = 0; i < 1; i++)
- //{
- // temp[i] = stds[i];
- //}
- //temp[size] = new char[255];
- //Fill(temp[size]);
- //size++;
- //delete[]stds;
- //stds = temp;
- }
- //void Add_new()
- //{
- // Employee std;
- //
- // cout << "Введіть ім'я нового працівника: ";
- // //cin >> str;
- // cin.ignore();
- // cin >> std.name;
- //
- // cout << "Введіть посаду: ";
- // cin.ignore();
- // cin>> std.position;
- //
- // cout << "Введіть к-ть його відпрацьованих годин: ";
- // cin >> std.time_work;
- //
- // cout << "Введіть к-ть його не робочих днів за місяць: ";
- // cin >> std.time_month;
- //
- // cout << "Введіть к-ть його не робочих днів за місяць: ";
- // cin >> std.time_month;
- //
- // cout << "Введіть його початкову зарплатню: ";
- // cin >> std.salary;
- //
- //
- // return std;
- //}
- //Employee* AddEmployeeArr(Employee* stds, int size, Employee std)
- //{
- // char** temp = new char* [size + 1];
- // for (int i = 0; i < size+1; i++)
- // {
- // temp[i] = stds[i];
- // }
- // temp[size] = new char[255];
- // Add_new();
- // size++;
- // delete[]stds;
- // std = temp;
- //
- // /*Employee* res;
- // res = new Employee[size + 1];
- // for (int i = 0; i < size + 1; i++)
- // {
- // if (i < size)
- // {
- // res[i] = stds[i];
- // }
- // else
- // {
- // res[i] = std;
- // }
- // }
- // return res;
- // delete[]res;*/
- //
- //}
- //void Delete_emp(Employee stds[], int size, int pos)
- //{
- // char** temp = new char* [size - 1];
- // for (int i = 0; i < pos; i++)
- // {
- // temp[i] = stds[i];
- // }
- // delete[]stds[pos];
- // for (int i = pos; i < size; i++)
- // {
- // temp[i] = stds[i + 1];
- // }
- // delete[]stds;
- // stds[] = temp;
- // size--;
- //}
- //void DelTeachByName(Employee stds[], int size, char* name)
- //{
- // int index = -1;
- // for (int i = 0; i < size; i++)
- // {
- // if (_strcmpi(stds[i], name) == 0)
- // {
- // index = i;
- // break;
- // }
- //
- // }
- // if (index == -1)
- // {
- // cout << "Not found" << endl;
- // return;
- // }
- // Delete_emp(stds, size, index);
- //
- //}
Advertisement
Add Comment
Please, Sign In to add comment