Не можах да разбера кое какво прави, но винаги трябва да си имаме предвид, че софтуера се пише от програмити и което е по-важно - няма програма, която да може да мисли абстрактно. Те следва строга математическа, алгоритмична логика.
Иначе вие си изчислявате колко е коректния клас(който вече не е клас) със съответните приравнявания за работното време и когато придобие реално такъв, си го начислявате. Би трябвало програмата ви да позволява въвеждане на клас(което вече не е клас) като готова сума. Освен това би трябвало да има и някакъв начален при постъпване на работа, който е трябвало да включите, ако работещия е работил преди...