You are creating part of the payroll program for an Internet electronics store named "FluffShuffle Electronics". The owner of FluffShuffle has given you the following requirements: FluffShuffle employs six (6) people. The owner doesn't expect significant growth in his company, but may grow in the future. All of the employee data (name, address, etc.) is kept in a text file on your disk. Your program will read this employee data from the file and use that data to calculate the payroll for company employees. The program will have to calculate the payroll deductions for each employee and their net pay.
If you encounter errors while reading a data file, print an error message to the console, and close the file. Your program should not exit, since you might choose another file with correct data.
Suppose that your programming team has come up with a design for this program. In this design the data for each employee on the payroll will be held in a list, a tuple, a dictionary or an object of the Employee class. You get to choose how an employees data is stored.
An Employee has the following attributes:
employee number
name
street address
hourly wage
hours worked this week
The Employee as a list or tuple or dict
You can read the data for each employee into a list tuple, or dict, and then store that employee item as one element in the list of employees.
The Employee Class
An employee object will need the following methods:
A constructor for the employee class that takes arguments to initialize all of the above mentioned attributes.
A method, calc_salary(), that calculates and returns an employee's net pay as a double.
An employee's gross pay is calculated by multiplying the hours worked by their hourly wage. Be sure to give time-and-a-half for overtime (anything over 40 hours).
To compute the net pay, deduct 20% for Federal income tax, and 7.5% for state income tax.
Every employee on the payroll will need to be represented in the program by its own employee object. A convenient way to handle this will be to create a list of employee objects, using lists, tuples or classes.
GUI should look like picture below