0% found this document useful (0 votes)
7 views3 pages

Y

The document outlines a program that implements a queue system for managing records and employee payroll. It includes classes for handling record data and employee information, as well as methods for enqueueing and dequeueing records, reading data from files, and calculating total pay for employees. The program reads employee details and hours worked from files, processes them, and outputs the total pay for each employee.

Uploaded by

arahimbutt3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

Y

The document outlines a program that implements a queue system for managing records and employee payroll. It includes classes for handling record data and employee information, as well as methods for enqueueing and dequeueing records, reading data from files, and calculating total pay for employees. The program reads employee details and hours worked from files, processes them, and outputs the total pay for each employee.

Uploaded by

arahimbutt3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

global Queue

global HeadPointer
global TailPointer
global Records
global NumberRecords
class RecordData:
def __init__(self,id,total):
self.ID=id #STRING
self.Total=total #INTEGER

def Enqueue(Value): #String


global Queue
global HeadPointer
global TailPointer
if TailPointer==50:
print("Queue is full")
else:
Queue.append(Value)
TailPointer=TailPointer+1
if HeadPointer==-1:
HeadPointer=0
def Dequeue():
global Queue
global HeadPointer
global TailPointer
if HeadPointer==-1 or HeadPointer==TailPointer:
print("Queue is empty")
return "Empty"
else:
HeadPointer = HeadPointer + 1
temp=Queue[HeadPointer-1]
return temp
def ReadData():
try:
File = open("QueueData.txt","r")
data = File.readline().strip()
while data != "":
Enqueue(data)
data=File.readline().strip()
File.close()
except IOError:
print("File not found")
def TotalData():
global Records
global NumberRecords
DataAccessed=Dequeue()
Flag=False
if NumberRecords==0:
#Records[NumberRecords].ID=DataAccessed
#Records[NumberRecords].Total=1
Records.append(RecordData(DataAccessed,1))
NumberRecords = NumberRecords + 1
Flag=True
else:
for X in range(NumberRecords):
if Records[X].ID==DataAccessed:
Records[X].Total=Records[X].Total + 1
Flag=True
if Flag==False:
Records.append(RecordData(DataAccessed, 1))
NumberRecords=NumberRecords+1

def OutputRecords():
global Records
global NumberRecords
for x in range(NumberRecords):
print("ID",Records[x].ID,"Total",Records[x].Total)

Queue = [] #50 Elements : String


HeadPointer = -1
TailPointer = 0
Records = [] #50 Elements : RecordData
NumberRecords=0
ReadData()
while HeadPointer!=TailPointer:
TotalData()
OutputRecords()

global EmployeeArray
class Employee:
def __init__(self,HPay,ENumber,JobT):
self.__HourlyPay = HPay #REAL
self.__EmployeeNumber = ENumber #STRING
self.__JobTitle = JobT #STRING
self.__PayYear2022 = [] #REAL of 51 elements
for x in range(52):
self.__PayYear2022.append(0.0)
def GetEmployeeNumber(self):
return self.__EmployeeNumber
def SetPay(self,WeekNumber,HoursWorked):
self.__PayYear2022[WeekNumber-1]=HoursWorked*self.__HourlyPay
def GetTotalPay(self):
total=0
for x in range(52):
total=total+self.__PayYear2022[x]
return total
class Manager(Employee):
def __init__(self,BonusVal,HPay,ENumber,JobT):
super().__init__(HPay,ENumber,JobT)
self.__BonusValue=BonusVal
def SetPay(self,WeekNumber,HoursWorked):
HoursWorked=HoursWorked*(1+ self.__BonusValue/100)
super().SetPay(WeekNumber,HoursWorked)
def EnterHours():
global EmployeeArray
try:
File=open("HoursWeek1.txt","r")
EmpoyeeID=""
for x in range(8):
EmployeeID=File.readline().strip()
for y in range(8):
if EmployeeArray[y].GetEmployeeNumber()==EmployeeID:
WorkingHours=float(File.readline().strip())
EmployeeArray[y].SetPay(1,WorkingHours)
except IOError:
print("File not found")

#Main
EmployeeArray = []
Pay=0.0
Number=""
Bonus=0.0
Title=""
temp=""
try:
File = open("Employees.txt","r")
for x in range(8):
Pay=float(File.readline().strip())
Number=File.readline().strip()
temp=File.readline().strip()
try:
Bonus=float(temp)
Title=File.readline().strip()
EmployeeArray.append(Manager(Bonus,Pay,Number,Title))
except:
Title=temp
EmployeeArray.append(Employee(Pay,Number,Title))
File.close()
except IOError:
print("File Not found")
EnterHours()
for x in range(8):
print(EmployeeArray[x].GetEmployeeNumber(),EmployeeArray[x].GetTotalPay())

You might also like