Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Payroll System Using Inheritance and Polymorphism (oops c++), You need to implement the following harder file and classes. 1. Define the following constants in a

Payroll System Using Inheritance and Polymorphism (oops c++), You need to implement the following harder file and classes.


1. Define the following constants in a header file called Employee.h

  • FACULTY_MONTHLY_SALARY = 5000.00
  • STAFF_MONTHLY_HOURS_WORKED = 160

2. Implement an abstract class Employee with the following requirements:

  • Attributes
    • last name (String)
    • first name (String)
    • ID number (String)
  • Default argument constructor and argument constructors.
  • Public methods
    • put Data that displays the following information:
      ID Employee number :_________
      Employee name: __________
    • pure virtual method monthly Earning that returns the monthly earning.

3. Implement a class called Staff extending from the class Employee with the following requirements:

  • Attribute
    • Hourly rate
  • Default argument and argument contractors
  • Public methods
    • get and set
    • The method monthly Earning returns monthly salary (hourly rate times 160)
    • put Data that displays the following information:
      ID Employee number :_________
      Employee name: __________
      Full Time
      Monthly Salary: _________

4. Implement a class Education with the following requirements:

  • Attributes
    • Degree (MS or PhD ) String type
    • Major (Engineering, Chemistry, English, etc ... ) String type
    • Research (number of researches)
  • Default argument and argument constructors.
  • Public methods
    • get and set

Implement a class Faculty extending from the class Employee with the following requirements:

  • Attributes
    • Level (use enum statement)
      "AS": assistant professor
      "AO": associate professor
      "FU": professor
    • Education object
  • Default argument and argument constructor
  • Public methods
    • get and set
    • The method monthly Earning returns monthly salary based on the faculty's level.
      AS - faculty monthly salary
      AO - 1.2 times faculty monthly salary
      FU - 1.4 times faculty monthly salary
    • put Data that displays the following information:
      ID Employee number :_________
      Employee name: __________
      XXXXX Professor where XXXXX can be Assistant, Associate or Full
      Monthly Salary: _________

Implement a class called Partime extending from the class Staff with the following requirements:

  • Attributes
    • Hours worked per week
  • Default argument and argument constructors
  • Public methods
    • set and get
    • The method monthly Earning returns monthly salary which hourly rate multiplied hours worked per week multiplied four.
    • put Data that displays the following information:
      ID Employee number :_________
      Employee name: __________
      Hours works per month: ______
      Monthly Salary: _________

Implement a test driver program that creates an array or a vector of class Employees to store the objects Staff, Faculty, and Partime.

Using polymorphism, display the following outputs:

a. Employee information using the method putData.

  • All employees
  • Staff
  • Faculty
  • Part-time

b. Total monthly salary for all employees.

Use the following data to create Employee objects in your program.

Staff

  • Last name: Allen
    First name: Paita
    ID: 123
    Hourly rate: $50.00
  • Last name: Zapata
    First Name: Steven
    ID: 456
    Hourly rate: $35.00
  • Last name: Rios
    First name: Enrique
    ID: 789
    Hourly rate: $40.00

Faculty

  • Last name: Johnson
    First name: Anne
    ID: 243
    Level: Full
    Degree: Ph.D
    Major: Engineering
    Reseach: 3
  • Last name: Bouris
    First name: William
    ID: 791
    Level: Associate
    Degree: Ph.D
    Major: English
    Research: 1
  • Last name: Andrade
    First name: Christopher
    ID: 623
    Level: Assistant
    Degree: MS
    Major: Physical Education
    Research: 0

Part-time

  • Last name: Guzman
    First name: Augusto
    ID: 455
    Hourly rate: $35.00
    Hours worked per week: 30
  • Last name: Depirro
    First name: Martin
    ID: 678
    Hourly rate: $30.00
    Hours worked per week:15
  • Last name: Aldaco
    First name: Marque
    ID: 945
    Hours worked per week: 35
  • Runtime output

    ID Employee number: 123
    Employee name: Paita Allen
    Full Time
    Monthly Salary: 8000

    ID Employee number: 456
    Employee name: Steven Zapata
    Full Time
    Monthly Salary: 5600

    ID Employee number: 789
    Employee name: Enrique Rios
    Full Time
    Monthly Salary: 6400

    ID Employee number: 243
    Employee name: Anne Johnson
    Full Professor
    Monthly Salary: 7000

    ID Employee number: 791
    Employee name: William Bouris
    Associate Professor
    Monthly Salary: 6000

    ID Employee number: 623
    Employee name: Christopher Andrade
    Assistant Professor
    Monthly Salary: 5000

    ID Employee number: 455
    Employee name: Augusto Guzman
    Hours work per month: 120
    Monthly Salary: 4200

    ID Employee number: 678
    Employee name: Martin Depirro
    Hours work per month: 60
    Monthly Salary: 1800

    ID Employee number: 945
    Employee name: Marque Aldaco
    Hours work per month: 140
    Monthly Salary: 2800

    Total monthly salary for all employees: $46800

Step by Step Solution

3.58 Rating (151 Votes )

There are 3 Steps involved in it

Step: 1

include include include include Employeeh using namespace std enum Level AS AO FU class Education private string degree string major int research public Education degree major research 0 Educationstri... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Accounting Information Systems

Authors: George H. Bodnar, William S. Hopwood

11th Edition

0132871939, 978-0132871938

More Books

Students also viewed these Accounting questions

Question

State two advantages of using cycle billing.

Answered: 1 week ago