Здравствуйте. Помогите, пожалуйста разработать приложение. Если коротко, то задача такая: есть предприятия с сотрудниками трех видов (manager, disigner, programmer), у каждого типа работника свои правила, по которым растет их зп. У менеджера - это процента за год стажа. У дизайнера- процент за стаж + полпроцента за всех его подчиненных. У программиста - процента за стаж + полпроцента за всех его подчиненных первого уровня. Нужно написать программу, которая бы рассчитывала зарплату любого сотрудника или сразу всех.
В принципе задача не сложная, но у меня возникло несколько трудностей. Первая трудность в том, что я не представляю где хранить информацию о том, сколько сотрудников на кого работает и информацию об их уровне. Вторая это то, что приложение надо написать на Qt с использованием SQLLite, с ними я только начал разбираться.
Я написал базовый, абстрактный класс и реализацию класса менеджера.
//worker.h
class Worker
{
protected:
std::string name;
Date dateOfReceipt;
int baseSalary;
public:
Worker(const std::string& nm, const Date& dt, const int salary)
: name(nm), dateOfReceipt(dt), baseSalary(salary) {}
virtual double calculateSalary(const Date& dateOfCalcuation) = 0;
};
Но с остальными классами не могу разобраться, из-за того, что в них где-то должна хранится информация о других работниках. Как их правильно реализовать? Хранить указатели на подчиненных работников или написать отдельный класс, который бы хранил всю иерархию предприятия? но в этом случае реализация не яснее.