Y
Y
global HeadPointer
global TailPointer
global Records
global NumberRecords
class RecordData:
def __init__(self,id,total):
self.ID=id #STRING
self.Total=total #INTEGER
def OutputRecords():
global Records
global NumberRecords
for x in range(NumberRecords):
print("ID",Records[x].ID,"Total",Records[x].Total)
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())