Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- using namespace std;
- class Employee {
- private:
- string name, position; //поля класу
- int year_of_employment;
- double salary;
- // Конструктор класу без параметрів
- public:
- Employee(){
- name = position = year_of_employment = salary = 0;
- }
- // Конструктор класу з параметрами:
- Employee(string _name, string _position, int _year_of_employment, double _salary) {
- name = _name;
- position = _position;
- year_of_employment = _year_of_employment;
- salary = _salary;
- }
- string Name() {
- return name;
- }
- string Position() {
- return position;
- }
- int Year_of_employment() {
- return year_of_employment;
- }
- double Salary() {
- return salary;
- }
- // Метод класу для виводу даних з списку за умовою
- void GetListExperience(list<Employee>& l, int year_now, int year) {
- for (auto i : l) { // перебираємо всі елементи в циклі
- if (year_now - i.Year_of_employment() > year)
- cout << "I'мя: " << i.Name() << "\t" << "Прiзвище: " << i.Position() << "\t" << "По батьковi: " << i.Year_of_employment() << "\t" << "Адреса: " << i.Salary() << endl;
- }
- }
- };
- // Метод для додавання даних в список
- void Input(list<Employee>& l, int n) {
- string name, position; // поле для запису даних в конструктор класу
- int year_of_employment;
- double salary;
- // В циклі вводимо дані n разів
- for (int i = 0; i < n; i++) {
- cout << "Введiть iм'я: ";
- cin >> name;
- cout << "Введiть посаду: ";
- cin >> position;
- cout << "Введiть рiк працевлаштування: ";
- cin >> year_of_employment;
- cout << "Введiть ЗП: ";
- cin >> salary;
- Employee* e = new Employee(name, position, year_of_employment, salary); // передаємо дані в конструктор
- l.push_back(*e); // додаємо в список об'єкт класу
- cout << endl;
- }
- }
- // Виводимо весь список
- void GetList(list<Employee>& l) {
- for (auto i : l)
- cout << "I'мя: " << i.Name() << "\t" << "Посада: " << i.Position() << "\t" << "Рiк працевлаштування: " << i.Year_of_employment() << "\t" << "Зарплата: " << i.Salary() << endl;
- }
- // Вивід даних списку за умовою
- void GetListSalary(list<Employee>& l, int salary) {
- for (auto i : l) {
- if (i.Salary() > salary) // перевірка
- cout << "I'мя: " << i.Name() << "\t" << "Посада: " << i.Position() << "\t" << "Рiк працевлаштування: " << i.Year_of_employment() << "\t" << "Зарплата: " << i.Salary() << endl;
- }
- }
- void GetListPosition(list<Employee>& l, string position) {
- for (auto i : l) {
- if (i.Position() == position)
- cout << "I'мя: " << i.Name() << "\t" << "Посада: " << i.Position() << "\t" << "Рiк працевлаштування: " << i.Year_of_employment() << "\t" << "Зарплата: " << i.Salary() << endl;
- }
- }
- int main()
- {
- setlocale(0, "");
- Employee e; // створюємо об'єкт класу
- list<Employee> l = list<Employee>(); // створюємо список типу Employee
- cout << "Вкажiть кiлькiсть працiвникiв: ";
- int count;
- cin >> count;
- Input(l, count); // Визиваємо метод
- cout << "\n Вивiд всiх данних:\n";
- GetList(l);
- cout << "\nВивiд за стажем:\n Введіть поточний рiк: ";
- int year_now, year;
- cin >> year_now;
- cout << "Введiть рік: ";
- cin >> year;
- e.GetListExperience(l, year_now, year);
- cout << "\nВивiд за зарплатою:\n Введіть розмiр зарплати: ";
- int salary;
- cin >> salary;
- GetListSalary(l, salary);
- cout << "\nВивiд за посадою:\n Введіть посаду: ";
- string position;
- cin >> position;
- GetListPosition(l, position);
- }
Add Comment
Please, Sign In to add comment