一、人事管理系统 要求 1、在用户界面中输入一个员工的工号,姓名,年龄,工资,绩效,保存在一个本地文本文档中。 2、可以对一个或所有员工的工号,年龄,工资,绩效显示在界面上。 3、可以对所有员工的(工资+绩效)的总数进行排序显示在界面上。
时间: 2024-02-05 17:13:55 浏览: 102
这个人事管理系统的需求比较简单,可以使用 Python 编程语言来实现。
首先,我们可以使用 Python 内置的 `tkinter` 库来创建用户界面。在界面中添加几个标签和文本框,用于输入员工的信息。
然后,我们可以定义一个函数,用于保存员工信息到本地文本文档中。这个函数可以接受用户输入的员工信息,将其格式化成一行文本,然后写入到一个文本文件中。
接下来,我们可以定义另一个函数,用于显示员工信息。这个函数可以读取保存员工信息的文本文件,然后将其中的每一行解析成员工信息,并将其显示在界面上。
最后,我们可以定义一个函数,用于对所有员工的(工资+绩效)的总数进行排序,并将排好序的结果显示在界面上。
这个人事管理系统的实现过程比较简单,可以用以下代码作为参考:
```python
import tkinter as tk
# 创建用户界面
root = tk.Tk()
root.geometry('400x300')
root.title('人事管理系统')
# 添加标签和文本框
tk.Label(root, text='工号').grid(row=0, column=0)
tk.Entry(root, name='id').grid(row=0, column=1)
tk.Label(root, text='姓名').grid(row=1, column=0)
tk.Entry(root, name='name').grid(row=1, column=1)
tk.Label(root, text='年龄').grid(row=2, column=0)
tk.Entry(root, name='age').grid(row=2, column=1)
tk.Label(root, text='工资').grid(row=3, column=0)
tk.Entry(root, name='salary').grid(row=3, column=1)
tk.Label(root, text='绩效').grid(row=4, column=0)
tk.Entry(root, name='performance').grid(row=4, column=1)
# 添加保存按钮
def save_info():
employee = {
'id': root.children['id'].get(),
'name': root.children['name'].get(),
'age': root.children['age'].get(),
'salary': root.children['salary'].get(),
'performance': root.children['performance'].get(),
}
with open('employees.txt', 'a') as f:
f.write('{id},{name},{age},{salary},{performance}\n'.format(**employee))
tk.Button(root, text='保存', command=save_info).grid(row=5, column=0)
# 添加显示按钮
def show_info():
with open('employees.txt', 'r') as f:
for line in f:
employee = line.strip().split(',')
tk.Label(root, text=','.join(employee)).grid()
tk.Button(root, text='显示', command=show_info).grid(row=5, column=1)
# 添加排序按钮
def sort_info():
employees = []
with open('employees.txt', 'r') as f:
for line in f:
employee = line.strip().split(',')
employee['total'] = int(employee['salary']) + int(employee['performance'])
employees.append(employee)
employees = sorted(employees, key=lambda e: e['total'], reverse=True)
for employee in employees:
tk.Label(root, text=','.join(employee)).grid()
tk.Button(root, text='排序', command=sort_info).grid(row=5, column=2)
root.mainloop()
```
这个代码使用了 `tkinter` 库创建了一个简单的用户界面,其中包含了保存、显示和排序员工信息的按钮。当用户点击保存按钮时,会将输入的员工信息保存到本地文件中;当用户点击显示按钮时,会从本地文件中读取员工信息,并将其显示在界面上;当用户点击排序按钮时,会对所有员工的(工资+绩效)的总数进行排序,并将排好序的结果显示在界面上。
阅读全文