利用面向对象的思想设计一个员工管理系统。
创建员工类:属性有:员工号,员工姓名,员工工资;
创建用户类:属性有:用户名,密码;
1:初始化5个员工对象。(可以使用列表、元组、字典存储) 持久化存储数据
初始化3个用户对象。(可以使用列表、元组、字典存储)
2:功能菜单:
一级菜单:登录(需要验证身份); (验证用户名和密码)
二级菜单:登录成功进入二级菜单,
(1)、查询所有员工信息
(2)、根据工号查询员工信息
(3)、添加员工
(4)、修改员工工资
(5)、删除员工
(6)、退出
要求:菜单可循环,除非选择6退出
staff_list = []
user_list = []
class Staff:
def __init__(self, staff_id, staff_name, staff_salary):
"""
初始化
:param staff_id: 员工号
:param staff_name: 员工姓名
:param staff_salary: 员工工资
"""
self.staff_id = staff_id
self.staff_name = staff_name
self.staff_salary = staff_salary
# staff_list.append(self)
def get_sta_id(self):
return self.staff_id
def get_sta_name(self):
return self.staff_name
def get_sta_salary(self):
return self.staff_salary
class User:
def __init__(self, user_name, user_password):
"""
用户类初始化
:param user_name: 用户名
:param user_password: 密码
"""
self.user_name = user_name
self.user_password = user_password
def get_username(self):
return self.user_name
def get_userpassword(self):
return self.user_password
s1 = Staff("01", "林黛玉", "2000")
s2 = Staff("02", "贾宝玉", "3000")
s3 = Staff("03", "薛宝钗", "2000")
s4 = Staff("04", "史湘云", "4000")
s5 = Staff("05", "贾迎春", "3000")
staff_list = [s1, s2, s3, s4, s5]
s1 = staff_list[0]
print(s1.staff_salary)
u1 = User("admin", "123456")
u2 = User("adm", "123456")
u3 = User("ad", "123456")
# user = User()
user_list = [u1, u2, u3]
def login():
user_name = input("请输入用户名:")
user_password = input("请输入密码:")
for i in user_list:
if user_name == i.get_username() and user_password == i.get_userpassword():
print("登录成功!")
break
else:
print("用户名或密码错误!")
def query_all():
"""
查询所有员工信息
:return:
"""
print("-" * 50)
print("查询所有员工信息")
if len(staff_list) == 0:
print("不好意思,没有任何员工信息!")
return
print("全部员工信息如下:")
for i in ["员工号", "员工姓名", "员工工资"]:
print(i, end="\t\t")
print("")
# for i in staff_list:
# print(i)
for i in range(0, len(staff_list)):
print("%s\t\t%s\t\t%s\t\t" %
(staff_list[i].get_sta_id(),
staff_list[i].get_sta_name(),
staff_list[i].get_sta_salary()))
print("全部信息显示完毕!")
print("-" * 50)
pass
def query_id():
"""
根据工号查询员工信息
:return:
"""
print("-" * 50)
print("根据工号查询员工信息")
staff_id = input("请输入要查询的员工的工号:")
for i in range(0, len(staff_list)):
if staff_list[i].get_sta_id() == staff_id:
print("查询工号为%s的信息为:" % staff_id)
print("员工号\t\t员工姓名\t\t员工工资\t\t")
print("%s\t\t%s\t\t%s\t\t" %
(staff_list[i].get_sta_id(),
staff_list[i].get_sta_name(),
staff_list[i].get_sta_salary()))
break
else:
print("不好意思,没有找到员工号为%s的员工信息" % staff_id)
break
print("-" * 50)
def add_staff():
"""
添加员工
:return:
"""
print("-" * 50)
print("添加新的员工信息")
staff_id = input("员工号:")
staff_name = input("员工姓名:")
staff_salary = input("员工工资:")
s = Staff(staff_id, staff_name, staff_salary)
staff_list.append(s)
print("员工号为%s的员工信息添加成功!" % staff_id)
print("-" * 50)
def update_staff():
"""
修改员工工资
:return:
"""
print("-" * 50)
print("修改员工工资")
staff_id = input("请输入想要修改工资的员工号:")
for i in range(0, len(staff_list)):
if staff_list[i].get_sta_id() == staff_id:
print("工号为%s的员工的工资为:" % staff_id)
print("%s" % staff_list[i].get_sta_salary())
new_salary = input("请输入该员工新的工资:")
s = Staff(staff_id, staff_list[i].get_sta_name(), new_salary)
staff_list.append(s)
staff_list.remove(staff_list[i])
print("修改该员工的工资成功!")
break
else:
print("不好意思,没有员工号为%s的员工" % staff_id)
break
print("-" * 50)
def del_staff():
"""
删除员工
:return:
"""
print("-" * 50)
print("删除员工信息")
staff_id = input("请输入想要删除的员工的工号:")
for i in range(0, len(staff_list)):
if staff_list[i].get_sta_id() == staff_id:
r = i
break
staff_list.remove(staff_list[r])
print("删除员工信息成功!")
print("-" * 50)
def menu2():
print("*" * 50)
print("【员工管理系统】V1.0")
print("")
print("1.查询所有员工信息")
print("2.根据工号查询员工信息")
print("3.添加员工")
print("4.修改员工工资")
print("5.删除员工")
print("")
print("6.退出")
print("*" * 50)
print("")
def choose():
"""
将要选择的操作
:return:
"""
while True:
temp = input("请输入想要执行的操作:")
print("您选择的操作是%s:" % temp)
if temp in ["1", "2", "3", "4", "5"]:
if temp == "1":
query_all()
if temp == "2":
query_id()
if temp == "3":
add_staff()
if temp == "4":
update_staff()
if temp == "5":
del_staff()
elif temp == "6":
print("退出程序,谢谢使用!")
break
else:
print("您输入的信息不正确,请重新输入!")
def main():
login()
menu2()
choose()
if __name__ == '__main__':
main()