Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Разработать связи между следующими классами : класс «Служащий»
- //(содержащий ФИО служащего), класс «Работники с почасовой оплатой»
- //(оплата за час, часы, отработанные за неделю), класс «Работники со сдельной
- //оплатой»(оплата за единицу продукции, число единиц продукции,
- // произведенной за неделю).Все классы должны содержать функции
- // получения и изменения всех полей.Написать программу, позволяющую
- // получать сведения о служащих.Использовать конструктор с параметрами,
- // конструктор без параметров, конструктор копирования.В класс добавить
- // необходимый набор полей и методов(минимум два поля и два метода) на
- // свое усмотрение.
- #include <iostream>
- #include <string>
- #include <fstream>
- #include<list>
- using namespace std;
- double In(const char* text = "") {
- double res;
- cout << text;
- while (!(cin >> res) || cin.get() != '\n') {
- cout << "Ошибка ввода! Попробуйте еще: " << endl;
- cin.clear();
- while (cin.get() != '\n');
- }
- return res;
- }
- class Employee
- {
- protected:
- string LastName,FirstName,MiddleName;
- double salary;
- int count;
- public:
- Employee() {};
- Employee(string LastName,string FirstName,string MiddleName)
- {
- this->LastName = LastName;
- this->FirstName = FirstName;
- this->LastName = LastName;
- }
- Employee(const Employee& other)
- {
- this->LastName = LastName;
- this->FirstName = FirstName;
- this->LastName = LastName;
- }
- void getName()
- {
- cout << "FullName: " << LastName << FirstName << MiddleName << endl;
- }
- void setName()
- {
- cout << "Enter Lastname: ";
- cin >> LastName;
- cout << "Enter FirstName: ";
- cin >> FirstName;
- cout << "Enter MiddleName: ";
- cin >> MiddleName;
- }
- virtual void Work(float salary, int count) {};
- };
- class WorkerWithHoursPay: public Employee
- {
- public:
- WorkerWithHoursPay() {};
- WorkerWithHoursPay(string LastName, string FirstName, string MiddleName, double salary, int count) :Employee(LastName, FirstName, MiddleName)
- {
- this->salary = salary;
- this->count = count;
- }
- void Work(float salary,int count) override
- {
- cout << "Enter salary per hour: ";
- cin >> salary;
- cout << "Enter a count of hours per week: ";
- cin >> count;
- }
- };
- class WorkerWithIncentivePay:public Employee
- {
- public:
- WorkerWithIncentivePay() {};
- WorkerWithIncentivePay(string LastName, string FirstName, string MiddleName,double salary,int count) :Employee(LastName, FirstName, MiddleName)
- {
- this->salary = salary;
- this->count = count;
- }
- void Work(float salary, int count) override
- {
- cout << "Enter salary per one unit: ";
- cin >> salary;
- cout << "Enter a count of units per week: ";
- cin >> count;
- }
- };
- void menu()
- {
- int choise;
- bool f = true;
- do
- {
- cout << "1. Enter information about workers" << endl << "2. Show information about workers" << endl << "3. Exit" << endl;
- cin >> choise;
- switch (choise)
- {
- case 1:
- {
- }
- system("cls");
- break;
- case 2:
- case 3:
- f = false;
- break;
- default:
- cout << "Try again" << endl;
- break;
- }
- } while (f);
- }
- int main()
- {
- menu();
- }
Advertisement
Add Comment
Please, Sign In to add comment