Домашно 1

Задача 1.
Напишете клас Person с членове-данни - име човек и неговата възраст и необходимите член-функциии,
(2 т.)
и клас Car с членове-данн:
 • модел на автомобила;
 • указател към собственика (Person*);
 • указател към водача (също Person*)
и необходимите член-функциии.
(4 т.)
Напишете програма, която чете файла input.txt и съхранява хората във вектор <Person *> и и автомобилите във вектор <Car *>.
(6 т.)
Напишете функция за увеличаване на възрастта с една година всички хора, записане във вектора.
(3 т.)
Напишете функция  printall която отпечатва списък на автомобилите с модел, името на собственика и водача и тяхната възраст.
(10 т.)
За формата данните на входа и за формата на изходните данни виж примера по-долу.
(5 т.)
 
Пример:
Файл input.txt
4
Ivan 25

Nina 32

Nikolay 44
Penka 28
3
Peugeot Ivan Ivan
Honda Ivan Nina
Scoda Penka Nikolay

 
 Резултат от работата на програмата:
 Peugeot
Owner: Ivan 26
Driver: Ivan 26
 
Honda
Owner: Ivan 26
Driver: Nina 33
 
Scoda
Owner: Penka 29
Driver: Nikolay 45



Задача 2.
Да се напише основен клас Worker и производните класове HourlyWorker (работник с почасово заплащане) и SalariedWorker (работник със заплата). Всеки работник има име и почасово заплащане.
 (8 т.)
 Да се напише виртуална функция compute_pay(int hours), която изчислява седмичното заплащане за всеки работник.
-- На всеки почасов работник се заплаща часовото възнаграждение за действителния брой отработени часове, ако часовете са най-много 40. Ако работещият почасово работи повече от 40 часа, излишъкът се заплаща с коефициент 1.50 от часовото възнаграждение.
-- Работник на заплата получава часовото възнаграждение за 40 часа, без значение какъв е отработения брой часове.
 (8 т.)
 Да се прочете списък с работници от двата типа, да се направи полиморфен вектор от указатели. Да се прочете и един ред с отработените часове за всеки работник от списъка и да се пресметне неговото седмично заплащане.
(10 т.)
Да се отпечати таблицата в показания формат.
 (4 т.)

 Пример - списък с работници:
 7
 Ivan sal
 Nina sal
 Petar hou
 John sal
 Katya hou
 Neda sal
 Mary hou
 30 40 20 50 40 45 50

 
 Изход - решение на примера:
Ivan       400.00
Nina       400.00
Petar      200.00
John       400.00
Katya      400.00
Neda       400.00
Mary       550.00