Advertisement
plarmi

workcpp_5_2

Jun 19th, 2023 (edited)
1,021
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <windows.h>
  5.  
  6. class Worker {
  7. private:
  8.     std::string fullName;
  9.     std::string position;
  10.     int startYear;
  11.     double salary;
  12.  
  13. public:
  14.     explicit Worker(const std::string& fullName, const std::string& position, int startYear, double salary)
  15.         : fullName(fullName), position(position), startYear(startYear), salary(salary) {}
  16.  
  17.     const std::string& getFullName() const {
  18.         return fullName;
  19.     }
  20.  
  21.     const std::string& getPosition() const {
  22.         return position;
  23.     }
  24.  
  25.     int getStartYear() const {
  26.         return startYear;
  27.     }
  28.  
  29.     double getSalary() const {
  30.         return salary;
  31.     }
  32.  
  33.     void display() const {
  34.         std::cout << "Full Name: " << fullName << std::endl;
  35.         std::cout << "Position: " << position << std::endl;
  36.         std::cout << "Start Year: " << startYear << std::endl;
  37.         std::cout << "Salary: " << salary << std::endl;
  38.         std::cout << std::endl;
  39.     }
  40. };
  41.  
  42. int main() {
  43.     SetConsoleCP(1251);
  44.     SetConsoleOutputCP(1251);
  45.     std::vector<Worker> workers;
  46.  
  47.     // Добавляем работников в массив
  48.     workers.emplace_back("John Doe", "Manager", 2010, 5000);
  49.     workers.emplace_back("Jane Smith", "Engineer", 2015, 4000);
  50.     workers.emplace_back("Mark Johnson", "Accountant", 2012, 4500);
  51.     workers.emplace_back("Emily Williams", "Developer", 2018, 5500);
  52.     workers.emplace_back("Michael Brown", "Designer", 2013, 3800);
  53.  
  54.     // Список работников со стажем работы, превышающим заданное количество лет
  55.     std::cout << "Список работников со стажем работы, превосходящим заданное количество лет:" << std::endl;
  56.     int requiredExperience = 5;
  57.     for (const auto& worker : workers) {
  58.         int currentYear = 2023; // Текущий год
  59.         int experience = currentYear - worker.getStartYear();
  60.         if (experience > requiredExperience) {
  61.             worker.display();
  62.         }
  63.     }
  64.  
  65.     // Список работников с зарплатой, превышающей заданную
  66.     std::cout << "Список работников с зарплатой, превосходящей заданную:" << std::endl;
  67.     double requiredSalary = 4500;
  68.     for (const auto& worker : workers) {
  69.         if (worker.getSalary() > requiredSalary) {
  70.             worker.display();
  71.         }
  72.     }
  73.  
  74.     // Список работников, занимающих заданную должность
  75.     std::cout << "Список работников, занимающих заданную должность:" << std::endl;
  76.     std::string requiredPosition = "Engineer";
  77.     for (const auto& worker : workers) {
  78.         if (worker.getPosition() == requiredPosition) {
  79.             worker.display();
  80.         }
  81.     }
  82.  
  83.     return 0;
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement