Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Specification for Employee class: Data Structure - write a program to simulate a payroll application. To that effect you will also create an Employee class,

Specification for Employee class:

Data Structure - 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

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. If you wish, you can re-use the code demoed during lecture but you will need to add a comment citing the source and you may need to modify it.

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.

o Node.py the node class implementation

o LikedList.py - the linked list class implementation

o Employee.py - the employee class implementation

o main.py - your main script

Step by Step Solution

There are 3 Steps involved in it

Step: 1

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

Modern Database Management

Authors: Heikki Topi, Jeffrey A Hoffer, Ramesh Venkataraman

13th Edition

0134773659, 978-0134773650

More Books

Students also viewed these Databases questions

Question

Working with other project stakeholders for support.

Answered: 1 week ago

Question

Knowledge of project management (PMI) teachings

Answered: 1 week ago