Skip to content

HSEhw/tp-lab-6

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cpp-lab-6

Практикум №6 (StaffDemo)

Разработать иерархию классов в соответствии со следующей диаграммой:

Перечень классов:

  • Employee - работник. Основной родительский класс для всех разновидностей работников.
  • Pesonal - работник по найму с оплатой за фактически отработанное время. Имеет ставку за час.
  • Engineer - инженер. Имеет ставку и оплату за час + бонусы от выполняемого проекта.
  • Manager - менеджер. Оплату получает из денег проекта, которым руководит.
  • Cleaner - уборщица.
  • Driver - водитель.
  • Programmer - инженер-программист.
  • TeamLeader - ведущий программист.
  • Tester - инженер по тестированию.
  • ProjectManager - проектный менеджер.
  • SeniorManager - руководитель направления.

Перечень интерфейсов:

  • WorkTime - расчет оплаты исходя из отработанного времени (часы умножаются на ставку).
  • Project - расчет оплаты исходя из участия в проекте (бюджет проекта делится пропорционально персональному вкладу).
  • Heading - расчет оплаты исходя из руководства (количество подчиненных).

Класс Employee

Этот, наиболее важный класс, должен содержать поля:

  • id - идентификационный номер.
  • name - ФИО.
  • worktime - отработанное время.
  • payment - заработная плата.

Заработная плата работникам начисляется, исходя из должности, почасовой ставки и участию в проектах.

Файл данных

Подготовить текстовый файл со списком сотрудников. Информация о каждом сотруднике должна включать:

  • id - идентификационный номер.
  • name - ФИО сотрудника.
  • position - должность.
  • base - базовая ставка руб./час (если нужна).
  • project - название проекта (если нужен).

Приложение

Написать демонстрационное приложение, которое создает штат сотрудников на основе данных из текстового файла и рассчитывает им зарплату, исходя из отработанного времени и участия в проектах. Информация о сотрудниках, об отработанном времени и заработной плате выводится на экран в виде таблицы.

Список участников/веток

ФИО Имя ветки

Алгоритм выполнения работы

Для выполнения работы необходимо:

  1. Выполнить fork репозитария в свой аккаунт.
  2. Выполнить клонирование репозитария из своего аккаунта к себе на локальную машину (git clone).
  3. Создать ветку git с индивидуальным номером (git branch имя_ветки).
  4. Сделать ветку активной (git checkout имя).
  5. Необходимо разместить как исходные файлы с решениями задач, поместив cpp файлы в src, а заголовочные - в include.
  6. Добавить файлы в хранилище (git add).
  7. Выполнить фиксацию изменений (git commit -m "комментарий").
  8. Отправить содержимое ветки в свой удаленный репозитарий (git push origin имя_ветки).
  9. Создать пул-запрос в репозитарий группы и ждать результата от Travis-CI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.4%
  • Python 11.3%
  • CMake 1.0%
  • Shell 0.7%
  • Makefile 0.6%
  • M4 0.6%
  • C 0.4%