使用字典和列表实现: 1. 完成一个信息类的管理系统 例如:人力资源的员工管理。 2. 将信息能够写入到json文件中 3. 从json文件读取响应的信息 4. 使用函数将各个功能模块能够单独实现和测试 5. 使用菜单与用户交互,程序能够根据用户的选择执行响应的操作。 6. 代码中必须尽量完善注释内容,业务必须正确实现
时间: 2024-03-14 08:47:36 浏览: 113
企业工资管理信息系统的开发
好的,我可以为您提供一个实现以上要求的示例代码,代码中包含了注释,方便您理解每个功能模块的实现。
```python
import json
# 员工信息类
class Employee:
def __init__(self, name, age, department, salary):
self.name = name
self.age = age
self.department = department
self.salary = salary
def to_dict(self):
# 将员工信息转为字典
return {'name': self.name, 'age': self.age, 'department': self.department, 'salary': self.salary}
# 信息管理系统类
class Management:
def __init__(self):
self.employees = [] # 员工信息列表
self.file_name = 'employees.json' # 存储员工信息的文件名
# 添加员工信息
def add_employee(self, employee):
self.employees.append(employee)
print('员工信息添加成功!')
# 删除员工信息
def delete_employee(self, name):
for employee in self.employees:
if employee.name == name:
self.employees.remove(employee)
print('员工信息删除成功!')
return
print('未找到该员工信息!')
# 修改员工信息
def update_employee(self, name, age=None, department=None, salary=None):
for employee in self.employees:
if employee.name == name:
if age:
employee.age = age
if department:
employee.department = department
if salary:
employee.salary = salary
print('员工信息修改成功!')
return
print('未找到该员工信息!')
# 查询员工信息
def search_employee(self, name):
for employee in self.employees:
if employee.name == name:
print('员工信息如下:')
print('姓名:', employee.name)
print('年龄:', employee.age)
print('部门:', employee.department)
print('薪资:', employee.salary)
return
print('未找到该员工信息!')
# 显示所有员工信息
def show_employees(self):
print('所有员工信息如下:')
for employee in self.employees:
print('姓名:', employee.name)
print('年龄:', employee.age)
print('部门:', employee.department)
print('薪资:', employee.salary)
# 将员工信息写入json文件
def write_to_json(self):
with open(self.file_name, 'w') as f:
json.dump([employee.to_dict() for employee in self.employees], f)
print('员工信息已写入json文件!')
# 从json文件读取员工信息
def read_from_json(self):
with open(self.file_name, 'r') as f:
employees = json.load(f)
self.employees = [Employee(**employee) for employee in employees]
print('员工信息已从json文件读取!')
# 显示菜单
def show_menu(self):
print('====信息管理系统菜单====')
print('1. 添加员工信息')
print('2. 删除员工信息')
print('3. 修改员工信息')
print('4. 查询员工信息')
print('5. 显示所有员工信息')
print('6. 将员工信息写入json文件')
print('7. 从json文件读取员工信息')
print('0. 退出系统')
# 运行系统
def run(self):
while True:
self.show_menu()
choice = input('请输入要执行的操作:')
if choice == '1':
name = input('请输入员工姓名:')
age = input('请输入员工年龄:')
department = input('请输入员工部门:')
salary = input('请输入员工薪资:')
employee = Employee(name, age, department, salary)
self.add_employee(employee)
elif choice == '2':
name = input('请输入要删除的员工姓名:')
self.delete_employee(name)
elif choice == '3':
name = input('请输入要修改的员工姓名:')
age = input('请输入员工新年龄:')
department = input('请输入员工新部门:')
salary = input('请输入员工新薪资:')
self.update_employee(name, age, department, salary)
elif choice == '4':
name = input('请输入要查询的员工姓名:')
self.search_employee(name)
elif choice == '5':
self.show_employees()
elif choice == '6':
self.write_to_json()
elif choice == '7':
self.read_from_json()
elif choice == '0':
print('感谢使用信息管理系统!')
break
else:
print('输入有误,请重新输入!')
# 测试函数
def test():
management = Management()
employee1 = Employee('张三', '25', '技术部', '10000')
employee2 = Employee('李四', '30', '市场部', '8000')
management.add_employee(employee1)
management.add_employee(employee2)
management.show_employees()
management.update_employee('张三', salary='12000')
management.search_employee('张三')
management.delete_employee('李四')
management.show_employees()
management.write_to_json()
management.read_from_json()
management.show_employees()
# 主函数
def main():
management = Management()
management.run()
if __name__ == '__main__':
main()
```
以上代码实现了一个员工信息的管理系统,包含了员工信息的添加、删除、修改、查询、显示以及将员工信息写入json文件和从json文件读取员工信息的功能。同时,还实现了一个菜单与用户交互的功能,用户可以根据菜单选择需要执行的操作。在代码中,还包含了测试函数test,方便您对各个功能模块进行单独测试。
阅读全文