Advertisement
DefiledDev

pyq

Dec 1st, 2022
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. import pickle
  2.  
  3. class Date:
  4.  
  5. def __init__(self, day, month, year):
  6. self.__day = day
  7. self.__month = month
  8. self.__year = year
  9.  
  10. def show(self):
  11. print("{}/{}/{}".format(self.__day, self.__month, self.__year))
  12.  
  13. def get_year(self):
  14. return self.__year
  15.  
  16.  
  17. class Employee:
  18.  
  19. def __init__(self, name, day, month, year):
  20. self.__name = name
  21. self.__birth_date = Date(day, month, year)
  22.  
  23. def display(self):
  24. print("Name: {0}, ".format(self.__name), end=' ')
  25. self.__birth_date.show()
  26.  
  27. def get_employee_name(self):
  28. return self.__name
  29.  
  30. def get_year_birth_date(self):
  31. return self.__birth_date.get_year()
  32.  
  33.  
  34. def add_employee():
  35. name = input("Enter the name of the employee: ")
  36. day = int(input("Enter the day of birth: "))
  37. month = int(input("Enter the month of birth: "))
  38. year = int(input("Enter the year of birth: "))
  39. return Employee(name, day, month, year)
  40.  
  41.  
  42. def get_employee_index(employees):
  43. name = input("Enter employee name to delete: ")
  44. index = 0
  45. for e in employees:
  46. if e.get_employee_name() == name:
  47. return index
  48. index += 1
  49. return -1
  50.  
  51.  
  52. def print_employees(employees):
  53. print("***********************************")
  54. for e in employees:
  55. e.display()
  56. print("***********************************")
  57.  
  58.  
  59. def store_employees(employees):
  60. file = open("employees.dat", "ab")
  61. for e in employees:
  62. pickle.dump(e, file)
  63. file.close()
  64.  
  65.  
  66. def load_employees():
  67. employees = []
  68. try:
  69. file = open("employees.dat", "rb")
  70. while True:
  71. try:
  72. employees.append(pickle.load(file))
  73. except EOFError:
  74. break
  75. except FileNotFoundError:
  76. pass
  77. return employees
  78.  
  79.  
  80. def main():
  81. employees = []
  82. while True:
  83. choice = int(input("""
  84. ***********************MENU**********************
  85. 1- Add Employee
  86. 2- Delete Employee By Name
  87. 3- Print All Employees
  88. 4- Print Employees Less Than Year
  89. 5- Store Employee in Binary
  90. 6- Load Employee List from Binary
  91. 7- Exit
  92. *************************************************
  93. Please enter your choice:"""))
  94. if choice == 1:
  95. employees.append(add_employee())
  96. elif choice == 2:
  97. index = get_employee_index(employees)
  98. if index >= 0:
  99. del employees[index]
  100. elif choice == 3:
  101. print_employees(employees)
  102. elif choice == 4:
  103. store_employees(employees)
  104. elif choice == 6:
  105. employees += load_employees()
  106. elif choice == 7:
  107. break
  108.  
  109.  
  110. main()
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement