首页 > 其他分享 >员工管理系统

员工管理系统

时间:2024-04-08 20:46:36浏览次数:22  
标签:username 管理系统 员工 dict user print input data

员工管理系统

# 【一】用户可以注册,并将注册信息临时保存起来,登陆时可根据指定用户名或密码进行登陆  --->注册 和 登录
# 【二】设定好用户名和密码,用户通过输入指定的用户名和密码进行登陆 ---> 登录功能
# 【1】最大尝试次数:用户最多尝试猜测3次
# 【2】最大尝试次数后:如3次后,问用户是否继续登陆
# (1)如果回答Y或y,就再给3次机会,提示【还剩最后三次机会】
# (2)3次都猜错的话登录结束
# (3)如果回答N或n,登陆结束!
# 【三】如果格式输入错误,提示【输入格式错误,请重新输入:】 ---> 对用户名有要求 默认都是校验数字
# 【四】如果猜对了,登陆结束!


# 【1】添加员工信息
# 用户登录选择添加员工信息功能,可以添加指定员工信息
# 信息格式如下
# {'员工编号':{员工数据}, '员工编号':{员工数据}, '员工编号':{员工数据}}
# 【2】修改员工薪资
# 用户可以根据员工编号选择指定员工
# 然后可以修改指定员工薪资(也可以修改其他选项)
# 【3】查看指定员工
# 用户根据指定员工编号查看指定员工信息
# 【4】查看所有员工
# 用户可以查看所有员工信息
# 【5】删除员工数据
# 用户可以根据指定员工编号删除指定员工信息
function_menu = '''
--------------- 员工管理系统 ---------------
                1.管理员注册功能
                2.登录功能
                3.添加员工信息
                4.修改员工信息
                5.查找所有员工信息
                6.查看指定员工信息
                7.删除指定员工信息
                8.删除所有员工信息
                9.查看当前登录信息
                退出系统(q)
'''
user_data_dict = {'max':{'username':'max', 'password':'999', 'role': True},
                  'yn':{'userID':'0001' ,'username':'yn', 'password':'123', 'age':18, 'salary':850000.0,
                        'hobby':['music','basketball'], 'role':False}}
login_dict = {
    'username': '',
    'role': None,
}
while True:
    print(function_menu)
    func_id = input("请输入指令>>>>>").strip()
    if func_id =='q':
        break

    if not func_id.isdigit():
        print("当前指令格式错误!")
        continue
    func_id = int(func_id)
    if func_id not in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
        print("当前指令不合法!")
        continue

    #注册功能
    if func_id == 1:
        print("注册中.....")
        username_input = input("username>>>>>").strip()
        password_input = input("password>>>>>").strip()
    #校验当前用户名是否存在
        if username_input in user_data_dict:
            print(f"当前用户 {username_input} 已存在,请登录")
            continue

        #添加管理员的信息
        if username_input == 'max' and password_input == '999':
            role = True
        else:
            role = False

        #增加数据字典
        user_data_dict[username_input] ={
            'username':username_input,
            'password':password_input,
            'role':role,
        }
        print(f"用户 {username_input} 注册成功")

#员工登录
    elif func_id == 2:
        print("正在登录中.....")
        username_input = input("username>>>>>").strip()
        password_input = input("password>>>>>").strip()
#先校验该用户是否注册过
        if username_input not in user_data_dict.keys():
            print(f"当前用户 {username_input} 不存在请先注册!")
            continue
        elif username_input in user_data_dict.keys() and password_input == user_data_dict[username_input].get('password'):
            print(f"欢迎用户 {username_input} 上线")
            #验证其是否是管理员登录
            login_dict['username'] = username_input
            login_dict['role'] = user_data_dict[username_input].get('role')
        else:
            print("当前用户密码错误!")
            continue

#添加员工信息
    elif func_id == 3:
        print("添加中.....")
        #验证是否是管理员进入
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        elif not login_dict.get('role'):
            print("用户权限不足!")
            continue
        #获取员工数据
        username_input = input("username>>>>").strip()
        #判断用户是否存在
        user_data = user_data_dict.get(username_input)
        #能从数据库获取该人的用户信息,不能注册已经存在的人
        if user_data:
            print(f"该用户 {username_input} 已存在")
        else:
            #添加新员工信息
            password_input = input("password>>>>>").strip()
            #添加年龄
            while True:
                age_input = input("age>>>>>").strip()
                if not 16< int(age_input) <80:
                    print("当前年龄不合法!")
                    continue
                elif not age_input.isdigit():
                    print("当前年龄格式不正确!")
                break
            #添加薪资
            salary_input = float(int(input("salary>>>>>").strip()))
            #添加爱好
            hobby_all = []
            while True:
                hobby_input = input("hobby>>>>>").strip()
                if hobby_input =='q':
                    break
                elif hobby_input not in hobby_all:
                    hobby_all.append(hobby_input)
                else:
                    print("这个爱好已经有了,换一个")
                    continue
            #添加员工ID
            user_ID = input("ID>>>>>").strip()
            user_ID = user_ID.rjust(4,'0')
            user_data_dict[username_input] = {
                'userID' : user_ID,
                'username' : username_input,
                'password' : password_input,
                'age' : age_input,
                'salary' : salary_input,
                'hobby' : hobby_all,
                'role' : False
            }
            print(f"当前用户 {username_input} 信息添加成功")

#修改员工信息
    elif func_id == 4:
        print("修改中.....")
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        elif not login_dict.get('role'):
            print("用户权限不足!")
            continue
        print(f"已有员工信息如下.....")
        user_id_list = []
        for username, user_data in user_data_dict.items():
            if username == 'max':
                pass
            else:
                user_id_list.append(user_data.get('userID'))
                print(f"当前用户ID : {user_data.get('userID')} | 用户名: {username}")
        #输入想要修改员工信息的ID
        userid_input = input("请输入员工ID>>>>>").strip()
        if userid_input not in user_id_list:
            print(f"当前ID不存在")
            continue

        #若存在要先创建空字典存储用户数据
        user_data = {}
        for username,user_data_ in user_data_dict.items():
            #判断输入的ID和已存在的ID一致
            if userid_input == user_data_.get('userid_input'):
                user_data_dict.update(user_data_)
        #修改薪资
        salary_input = float(int(input("salary>>>>>").strip()))
        user_data_dict[username]['salary'] = salary_input
        print(f"当前用户薪资修改成功!")



#查找所有员工信息
    elif func_id == 5:
        print("查找所有用户中.....")
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        print(f'''
        ---------------------用户信息---------------------
        ''')
        for username, user_data in user_data_dict.items():
            if username == 'max':
                pass
            else:
                print(f'''
                编  号:{user_data.get('userID')}
                用户名:{username}
                年  龄:{user_data.get('age')}
                薪  资:{user_data.get('salary')}
                爱  好:{user_data.get('hobby')}
                ''')
        print(f'''
        -------------------------------------------------
                ''')

    #查看指定员工信息
    elif func_id == 6:
        print(f"查看指定用户.....")
        #判断是否有管理员用户登录
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        print(f"当前已有用户信息如下...")
        user_id_list = []
        for username,user_data in user_data_dict.items():
            if username == 'max':
                pass
            else:
                user_id_list.append(user_data.get('userID'))
                print(f"当前员工ID:{user_data.get('userID')} | 用户名:{username}")

        user_ID = input("输入员工ID>>>>>").strip()
        if user_ID not in user_id_list:
            print(f"当前员工ID不存在!")
            continue
            #若存在要先创建空字典来存储用户数据
        user_data = {}
        for username,user_data_ in user_data_dict.items():
            if user_ID == user_data_.get('userID'):
                #将原字典更新成新字典
                user_data.update(user_data_)
        print(f'''
        ---------------------当前ID:{user_ID} 员工信息---------------------
                          用户名:{user_data.get('username')}
                          年  龄:{user_data.get('age')}
                          薪  资:{user_data.get('salary')}
                          爱  好:{user_data.get('hobby')}
        -----------------------------------------------------------------                  
        ''')

    #删除指定员工
    elif func_id == 7:
        print("删除员工...")
        #判断当前是否有管理员用户登录
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        elif not login_dict.get('role'):
            print("用户权限不足!")
            continue
        print(f"当前已存在用户名如下")
        for username, user_data in user_data_dict.items():
            if user_data.get('role'):
                pass
            else:
                print(username)
        username_input = input("需要删除的用户名:").strip()
        #判断当前用户是否存在
        if username_input not in user_data_dict.keys() and username_input != 'max':
            print(f"当前用户 {username_input} 不存在!")
        del user_data_dict[username_input]
        print(f"当前用户信息 {username_input} 已删除")

    #删除所有用户
    elif func_id == 8:
        print(f"清空所有员工信息....")
        # 判断当前是否有管理员用户登录
        if not login_dict.get('username'):
            print("请先登录再操作!")
            continue
        elif not login_dict.get('role'):
            print("用户权限不足!")
            continue

        #构架一个假的原来数据格式的字典
        #{'username’:{}}
        user_data_dict_ = {}
        #遍历原来的字典
        for username, user_data in user_data_dict.items():
            if user_data.get('role'):
                #判断如果是管理员,按照原来的格式更新上面的空字典
                #更新字典的时候是动的,根据每一个用户名动,不能是死值(username)
                user_data_dict_.update({user_data.get('username'): user_data})
            else:
                pass
        #清空原来的字典
        user_data_dict.clear()
        #将管理员字典信息更新回去
        user_data_dict.update(user_data_dict_)
        print(f"信息清空!")

    #查看当前登录用户信息
    elif func_id == 9:
        print(f'''
        ---------------------当前登录用户信息---------------------
                        用户名:{login_dict.get('username') if login_dict.get('username') else "未登录"}
                        身  份:{'管理员' if login_dict.get('role') else '未知'}
        ''')

标签:username,管理系统,员工,dict,user,print,input,data
From: https://www.cnblogs.com/chosen-yn/p/18122506

相关文章

  • Drools业务规则管理系统25_WorkBench8
    一、WorkBench简介Workbench是KIE组件中的元素,也称为KIE-WEB,是Drools-WB与JBPM-WB的结合体,它是一个可视化的规则编辑器。Workbench功能十分强大,不仅提供一系规则编辑器,还可以编辑JavaBean。WorkBench其实就是一个war包,安装到tomcat中就可以运行。使用WorkBench可以在浏览器......
  • 基于Spring Boot的医院门诊信息管理系统
    目录前言 一、技术栈二、系统功能介绍三、核心代码1、登录模块 2、文件上传模块3、代码封装前言系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对医院门诊信息的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的......
  • Drools业务规则管理系统25_Spring整合Drools7
    一、Spring简单整合Drools在项目中使用Drools时往往会跟Spring整合来使用。具体整合步骤如下:1、创建maven工程drools_spring并配置pom.xml2、创建规则目录/resources/rules,rules目录中创建规则文件helloworld.drl3、创建Spring配置文件/resources/spring.xml......
  • 企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管
    工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理   工程项目各模块及其功能点清单一、系统管理    1、数据字典:实现对数据字典标签的增删改查操作......
  • 毕业设计jspm贝儿米幼儿教育管理系统
    摘要随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。贝儿米幼儿教育管理系统,主要的模块包括查看;管理员;个人中心、用户管理、学生信息管理、班级信息管理、缴费信息管理、幼儿园信息管理、教师信息管理、考勤......
  • 毕业设计jspm宠物医院信息管理系统
    摘要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对宠物医院信息管......
  • 阿里云首个 AI 员工入职,围观开发工程师使用反馈
    大家这两天肯定知道新消息了,我们的新同事通义灵码已入职阿里云云原生团队,今天Serverless研发工程师西流搭档新同事通义灵码,从生成单元测试和自动生成代码2大能力展示Ta的强大实力。被问及编程时最困扰的问题时,西流表示:“很多人为了赶业务,就没有时间去补测试。写代码和测试......
  • 【4036】基于小程序+ssm实现的软件学院会议室管理系统
    作者主页:Java码库主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路 关注作者有好处文末获取源码技术选型【后端】:Java【框架】:ssm【前端】:小程序【JDK版本】:JDK1.8【服务器】:tomca......
  • 计算机毕业设计项目:新生儿疫苗接种管理系统 87023(开题答辩+程序定制+全套文案 )上万套
    PHP新生儿疫苗接种管理系统系   院XXXX学科门类XXX专   业 XXX班级XXX学   号XXX姓   名XXX指导教师XXX教师职称XXX摘 要新生儿计划免疫是根据危害儿童健康的一些传染病,利用安全有效的疫苗,按照规定的免疫程序进行预防接种,......
  • 智慧校园平台解决方案-教职工管理系统
     教工管理信息系统简介 通过与相关教育管理服务平台的互通、衔接,将逐步建立健全覆盖各级教育行政部门、各级各类学校的教师管理信息化体系;通过高效采集、定期更新、有效整合教师信息,将形成教师队伍大数据,大数据分析将为教师工作决策提供有力支撑,提升决策的科学性、针对性......