Guest User

C++ database

a guest
Aug 11th, 2023
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. // Database.cpp
  2. #include <iostream>
  3. #include <stdexcept>
  4. #include "Database.h"
  5.  
  6. using namespace std;
  7. namespace Records
  8. {
  9.     Employee& Database::addEmployee(const string &firstName,
  10.                                     const string &lastName)
  11.     {
  12.         Employee theEmployee{firstName, lastName};
  13.         theEmployee.setEmployeeNumber(m_nextEmployeeNumber++);
  14.         theEmployee.hire();
  15.         m_employees.push_back(theEmployee);
  16.         return m_employees.back();
  17.     }
  18.  
  19.     Employee& Database::getEmployee(int employeeNumber)
  20.     {
  21.         for (auto &employee : m_employees)
  22.         {
  23.             if (employee.getEmployeeNumber() == employeeNumber)
  24.             {
  25.                 return employee;
  26.             }
  27.         }
  28.         throw logic_error{"No employee found."};
  29.     }
  30.     Employee& Database::getEmployee(const std::string& firstName, const std::string& lastName)
  31.     {
  32.         for (auto& employee : m_employees)
  33.         {
  34.             if (employee.getFirstName() == firstName && employee.getLastName() == lastName)
  35.             {
  36.                 return employee;
  37.             }
  38.         }
  39.         throw logic_error{ "No employee found." };
  40.     }
  41.  
  42.     void Database::displayAll() const
  43.     {
  44.         for (const auto& employee : m_employees) { employee.display(); }
  45.     }
  46.  
  47.     void Database::displayCurrent() const
  48.     {
  49.         for (const auto& employee : m_employees) {
  50.             if (employee.isHired()) { employee.display(); }
  51.         }
  52.     }
  53.     void Database::displayFormer() const
  54.     {
  55.         for (const auto& employee : m_employees) {
  56.             if (!employee.isHired()) { employee.display(); }
  57.         }
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment