You have just graduated from college and decide to try out a small startup company. Using the skill you learnt in this class you want to write a personal program for your employees to use and for you to manage the company.

Functionality Requirements

  • The program should be able to hold and display any employee’s information with the following information:
    • Name (First and Last)
    • Age
    • Pay Rate
    • Work Schedule.
    • Job Classification.
  • For the employee, they should be able to access their account and enter their work hour (timeclocking). They should be able to see a report of how many hours they have work for the week. Each user should only be able to look at their own reports, and no one else.
  • For the employer (aka you), you should be able to request either individual report for each of the employee, or a summary report of everyone. The requirement of each report is:
    • Individual report: including name, pay rate, Job Classification, Current assignment, Work schedule, job performance, compensation rate, and total earning.
    • There should be at least 3 different summary report type:
    • i. Total Earning: display all employees’ current payout, and the current total.
    • ii. Current position: display all employee’ current position
    • iii. Total work hour: display all employees and their respective work hours and the current total.
    • You should be able to do the following task:
    • i. Add new employee as well as removing existing one.
    • ii. Modify existing record like Pay Rate, Work Schedule, Position, and performance evaluation.
  • Job Classification and Compensation: you have at least three positions in your company. Management, Wage, and hourly.
    • Management: they don’t have a work schedule and have a flat rate of 40 times their pay rate. They enjoy the following perks:
    • i. An 8% extra salary as bonus to what they already earns.
    • ii. A $200 compensation a week.
    • Wage: they have a work schedule and have a flat rate of 40 times their pay rate. However they’re subject to performance evaluation set by you.
    • i. A performance: a 5% extra salary bonus
    • ii. B performance: a 2% extra salary bonus
    • iii. C performance: no bonus.
    • Hourly: they have to follow a work schedule, and are paid accordingly to how many hour they works. Their bonus is also subjected to the same performance evaluation as a wage employee, but with a scale of 3%, 1%, and 0% according to A, B, C performance.

Programming Requirement

  • Your program must employs the usage of user-defined class and inheritance. There should be at least one parent class and two child classes.
  • Your program should employs all possible class function types. (Private, public, friend, overload)
  • All functions must be well defined with their appropriate parameters. For example: a function that will not modify the parameter should not use a parsed by reference.
  • Your program should be dynamically scalable and efficient. Meaning your data holders should not be bigger than the number of your current employees, but it can be modified without changing your source code.
  • All input and output have to be well presented.
  • Your interface and source code file have to be separated.

Extra Credit

the listed requirement in part I will provide a sufficient challenge and test your skill on most topics of the class, it is also just the minimum requirement for such a project. Part of the programming process is being creative and applies new solution. As such you can earn extra credits under the following condition:

  • Functionality: you can earn up to 15 points extra credit in this category, 5 points for each additional functionality up to 3.
    • Think of a meaningful addition you can add into the project. It could be a different type of report, or new criteria to manage your company, maybe an additional financial structure. Be creative!
    • To get the full 5 points, the functionality has to be well thought out, and not too similar to the one we already have.
  • Advance data structure and routine: while the entire project can be done using basic array and loop. You will get addition points to apply advance data structure. You can earn up to 20 points in this category:
    • Effective usage of link-list: implement the link list data structure to manage your employee list.
    • Effective usage of recursive: implement recursive in your calculation.
    • Implement a template class.
  • Project write up: (5p) Write up a one page double space report describe your project as you go through the process, from design to implementation. Write about what you learnt, discover, and difficult you have throughout the project.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.