Program 12
COSC 1336 – Programming Fundamentals I
Program 12 – Classes and Object-Oriented Programming
The owners of the Annan Supermarket would like to have a program that computes the
weekly gross pay of their employees. The user will enter an employee’s first name, last
name, the hourly rate of pay, and the number of hours worked for the week. In addition,
Annan Supermarkets would like the program to compute the employee’s net pay and
overtime pay. Overtime hours, any hours over 40, are paid at 1.5 the regular hourly
rate. Net pay is gross pay minus taxes (Refer to the tax table on the second page).
Define a class called Employee. The class must have private attributes to store the
employee’s name, hourly rate, and regular (≤ 40) and overtime hours worked. The
class must also have methods to perform the following tasks:
• A constructor to initialize the hourly rate to the minimum wage of $7.25 per hour
and the hours worked (regular and overtime) to 0.0.
• A method to get (a setter/mutator method)
⬧ the employee’s name
⬧ the hourly rate
⬧ the hours work for the month (by the week – assume 4 weeks in a month).
Do not write separate setters for regular and overtime hours.
• A method to return (a getter/accessor method)
⬧ the employee’s name
⬧ the hourly rate
⬧ the total regular hours work for the month
⬧ the total overtime hours for the month
• A method to return (a getter/accessor method)
⬧ the monthly regular pay
• A method to return (a getter/accessor method)
⬧ the monthly overtime pay
• A __str__ method to display the output which must include the following
information:
⬧ Employee’s name
⬧ Total regular hours worked
⬧ Total overtime hours worked
⬧ Total hours worked
⬧ Pay rate
⬧ Monthly Regular Pay
⬧ Monthly overtime pay
⬧ Monthly gross pay
⬧ Monthly taxes
⬧ Monthly net pay
Write a main function that declares an object for the class defined and test the functions
and methods written for the class. Allow the user to run the program as many times as
possible. No input, processing, or output should happen in the main function. All
work should be delegated to other functions. Include the recommended minimum
documentation for each function. See the program one template for more details.
You will not get credit if the program is not written or does not work as expected.
Tax Table
If the gross
Bracket pay is over But not over Tax
1 $0.00 $2,000.00 10%
2 $2,000.00 $3,500.00 15%
3 $3,500.00 $6,000.00 28%
4 $6,000.00 $10,000.00 31%
5 $10,000.00 N/A 36%
Run 1 Run 2
Name: John Doe Name: Jane Doe
Hourly rate: $35.10 Hourly rate: $37.20
Hours worked: 40, 30, 40, 35 Hours worked: 40, 40, 40, 40
Run 3
Name:
Hourly rate: $65.50
Hours worked: 50, 35, 40, 55
Run your program three times with the data above. Create a folder named,
fullname_program12. Copy your source code and the output file to the folder. Zip the
folder and upload it to Blackboard.