Advertisement
mariotourist

Untitled

Dec 2nd, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. //Payment.cpp
  2. #include "Payment.h"
  3.  
  4. Payment::Payment(string fio, double salary, int year, double salarySup, double incomeTax, int compDaysInMonth, int planDaysInMonth)
  5.     : m_fio(fio), m_salary(salary), m_year(year), m_salarySup(salarySup), m_incomeTax(incomeTax),
  6.     m_compDaysInMonth(compDaysInMonth), m_planDaysInMonth(planDaysInMonth) {
  7.  
  8. }
  9.  
  10. int Payment::getExpYear() const {
  11.     char buffer[80];
  12.     time_t seconds = time(NULL);
  13.     tm* timeinfo = localtime(&seconds);
  14.     char const* format = " %Y ";
  15.     strftime(buffer, 80, format, timeinfo);
  16.     int current_year = atoi(buffer);
  17.  
  18.     return current_year - m_year;
  19. }
  20.  
  21. double  Payment::getChargedSum()  {
  22.     double otrab = (m_salary / m_planDaysInMonth) * m_planDaysInMonth;
  23.     double t = otrab + otrab * (m_salarySup / 100);
  24.     m_ChargedSum = Money(t);
  25.     return m_ChargedSum.getMoney();
  26. }
  27.  
  28. double  Payment::GetWithHoldSum() {
  29.     double t = getChargedSum() * (m_incomeTax / 100 + 0.1);
  30.     m_WithHoldSum = Money(t);
  31.     return m_WithHoldSum.getMoney();
  32. }
  33.  
  34.  
  35. double Payment::getSalary() {
  36.     return getChargedSum() - GetWithHoldSum();
  37. }
  38.  
  39. void Payment::show() {
  40.     SetConsoleCP(1251);
  41.     SetConsoleOutputCP(1251);
  42.     cout << "ФИО: " << m_fio << endl <<
  43.         "Оклад: " << m_salary << endl
  44.         << "Год начала работы: " << m_year << endl
  45.         << "Стаж работы: " << getExpYear() << endl
  46.         << "Надбавка: " << m_salarySup << endl
  47.         << "Налог: " << m_incomeTax << endl
  48.         << "Колво отработанных дней за месяц: " << m_compDaysInMonth << endl
  49.         << "Колво рабочих запланированных дней на месяц: " << m_planDaysInMonth << endl
  50.         << "Удержанная сумма: " << getChargedSum() << endl
  51.         << "Удержанная сумма: " << GetWithHoldSum() << endl
  52.         << "Сумма полученная на руки: " << getSalary() << endl;
  53.         ;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement