Question
For this assignment in Python , you will write a program to simulate a payroll application. To that effect you will also create an Employee
For this assignment in Python, you will write a program to simulate a payroll application. To that effect you will also create an Employee class, according to the specifications below. You will create a linked list of Employee objects to simulate a payroll program.
Specification for Employee class:
Attributes
Employee ID: you can use a string the ID will contain digits and/or hyphens. The ID cannot be changed once an employee object is created.
Number of hours worked in a week: a floating-point number. Hourly pay rate: a floating-point number that represents how much the employee is paid for one hour of work.
Gross wages: a floating-point number that stores the number of hours times the hourly rate.
Methods
A constructor (__init__) Setter methods as needed.
Getter methods as needed.
This class should overload the __str__ or __repr__ methods so that Employee objects can be displayed using the print() function.
Specification for Node and LinkedList classes:
You will need to provide an implementation of the Node and the LinkedList classes.
Script
Your main script will simulate a basic payroll system. There should be a menu with the following options:
Add new employee: this option allows you to enter the ID of a new employee and his/her hourly rate.
Calculate Weekly Wages: this option displays each employee ID and asks the user to enter the number of hours worked by each employee. The script should calculate the gross wages for each employee (hours times pay rate) and store the information in the corresponding node.
Display Payroll: this option displays each employees identification number, hours worked, hourly rate, and gross wages.
Update Hourly Rate: this option allows the user update the hourly rate of one employee. The user should enter the ID of the employee. If the ID exits in the list, then the hourly rate can be updated.
Remove Employee for payroll: this option allows the user to remove an employee. The user should enter the ID of the employee. If the ID exits in the list, then the employee can be removed from the list.
Quit the program
You will need a loop to show and process the menu until the user chooses to quit/exit the program.
Validation:
Each employee number should be unique. Do not accept duplicate employee numbers.
Do not accept negative numbers for hours worked.
Do not accept numbers less than 6.00 for pay rate.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started