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

员工管理系统简洁版

时间:2023-11-26 16:12:48浏览次数:39  
标签:简洁 管理系统 员工 emp 编号 input data id

【一】需求介绍

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

【二】功能分析

【1】添加员工信息

  • 用户登录选择添加员工信息功能,可以添加指定员工信息
  • 信息格式如下
{'员工编号':{员工数据}, '员工编号':{员工数据}, '员工编号':{员工数据}}

【2】修改员工薪资

  • 用户可以根据员工编号选择指定员工
  • 然后可以修改指定员工薪资(也可以修改其他选项)

【3】查看指定员工

  • 用户根据指定员工编号查看指定员工信息

【4】查看所有员工

  • 用户可以查看所有员工信息

【5】删除员工数据

  • 用户可以根据指定员工编号删除指定员工信息

【三】代码实现

# -*-coding: Utf-8 -*-
# @File : 员工管理系统初级 .py
# author: Chimengmeng
# blog_url : https://www.cnblogs.com/dream-ze/
# Time:2023/11/26

func_list = '''
      --- 员工管理系统 ---
        1.添加员工信息
        2.修改员工信息
        3.查看所有员工
        4.查看指定员工
        5.删除员工数据
'''

# 定义员工信息字典
user_data_dict = {}

while True:
    # 打印功能菜单
    print(func_list)
    # 输入功能代码
    function_id = input("请输入功能ID(输入n退出) :>>>> ").strip()
    if function_id == 'n' or function_id == 'N':
        print(f"感谢使用!下次再会!")
        break
    # 功能代码进行强转
    function_id = int(function_id)
    # 【一】添加员工信息
    if function_id == 1:
        # 【1】定义添加信息标志位
        tag_add = True
        # 【2】标志位为True可添加信息,否则退出循环
        while tag_add:
            # 【3】员工编号
            emp_id = input("请输入员工编号 :>>>> ").strip()
            # 【3.1】校验员工编号是否已存在
            if emp_id in user_data_dict.keys():
                print(f"当前编号 :>>>> {emp_id} 已存在!无法添加!")
                # 【3.2】员工编号存在,则不允许使用该编号
                continue
            # 【4】员工姓名
            emp_name = input("请输入员工姓名 :>>>> ").strip()
            # 【5】员工年龄
            emp_age = input("请输入员工年龄 :>>>> ").strip()
            # 【6】员工薪资
            emp_salary = input('请输入员工的薪资 :>>>> ').strip()
            # 【7】构建员工字典
            user_data = {
                "emp_name": emp_name,
                "emp_age": emp_age,
                "emp_salary": emp_salary,
            }
            # 【8】将本员工信息添加到总的员工信息字典中
            user_data_dict[emp_id] = user_data
            print(f"当前员工 {emp_name} :>>>> 信息已录用!")

            again_input = input("是否继续录入信息?(Y/N)")
            if again_input == 'Y' or again_input == 'y':
                print()
                continue
            else:
                tag_add = False
    # 【二】修改员工信息
    elif function_id == 2:
        # 【1】设置修改员工信息标志位
        tag_change = True
        # 【2】标志位为True可修改信息,否则退出循环
        while tag_change:
            # 【3】获取所有员工的编号列表
            emp_id_list = user_data_dict.keys()
            print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
            # 【4】输入修改的员工编号对应的员工信息
            emp_id = input("请输入员工编号 :>>>> ").strip()
            # 【4.1】校验员工编号是否已存在
            if emp_id not in user_data_dict.keys():
                print(f"当前编号 :>>>> {emp_id} 不存在!无法修改!")
                # 【4.2】员工编号不存在,则不允许使用该编号
                continue
            # 【5】获取员工编号对应的员工信息字典
            user_data = user_data_dict.get(emp_id)
            # 【5】获取员工姓名 --- 如果是 n/N 则表示不修改此信息
            emp_name_new = input("请输入员工姓名(输入n保持不变) :>>>> ").strip()
            if emp_name_new == "n" or emp_name_new == "N":
                # 根据字典中的键获取对应的值
                emp_name_new = user_data.get('emp_name')
            # 【5】获取员工年龄 --- 如果是 n/N 则表示不修改此信息
            emp_age_new = input("请输入员工年龄(输入n保持不变) :>>>> ").strip()
            if emp_age_new == "n" or emp_age_new == "N":
                emp_age_new = user_data.get('emp_age')
            # 【6】获取员工薪资 --- 如果是 n/N 则表示不修改此信息
            emp_salary_new = input('请输入员工的薪资(输入n保持不变) :>>>> ').strip()
            if emp_salary_new == "n" or emp_salary_new == "N":
                emp_salary_new = user_data.get('emp_salary')
            # 【7】构建用户信息字典
            user_data = {
                "emp_name": emp_name_new,
                "emp_age": emp_age_new,
                "emp_salary": emp_salary_new,
            }
            # 【8】更新用户信息字典 --- 当前员工编号对应信息存在则更新,不存在则新添加
            user_data_dict[emp_id] = user_data
            print(f"当前员工 {emp_name_new} :>>>> 信息更新成功!")

            # 【9】是否再次修改信息
            again_input = input("是否继续修改信息?(Y/N)")
            if again_input == 'Y' or again_input == 'y':
                print()
                continue
            else:
                tag_add = False
    # 【三】查看所有员工信息
    elif function_id == 3:
        # 【1】设置标志位
        tag_check = True
        while tag_check:
            print(f"当前所有员工信息如下")
            # 遍历员工信息字典 {emp_id : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}}
            # emp_id : emp_id
            # emp_data : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}
            for emp_id, emp_data in user_data_dict.items():
                emp_name = emp_data.get("emp_name")
                emp_age = emp_data.get("emp_age")
                emp_salary = emp_data.get("emp_salary")
                print(f'''
                   ------- emp_info -------
                    员工编号 :>>>> {emp_id}
                    员工姓名 :>>>> {emp_name}
                    员工年龄 :>>>> {emp_age}
                    员工薪资 :>>>> {emp_salary}
                   -------    end    -------
                ''')
            # 【9】是否再次查看信息
            again_input = input("是否继续查看全部信息?(Y/N)")
            if again_input == 'Y' or again_input == 'y':
                print()
                continue
            else:
                tag_check = False
    # 【四】查看指定员工信息
    elif function_id == 4:
        # 【1】设置标志位
        tag_check_one = True
        # 【2】
        while tag_check_one:
            # 【3】获取所有员工的编号列表
            emp_id_list = user_data_dict.keys()
            print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
            # 【4】输入修改的员工编号对应的员工信息
            emp_id = input("请输入员工编号 :>>>> ").strip()
            # 【4.1】校验员工编号是否已存在
            if emp_id not in user_data_dict.keys():
                print(f"当前编号 :>>>> {emp_id} 不存在!无法查看!")
                # 【4.2】员工编号不存在,则不允许查看该编号
                continue
            # 【5】获取员工编号对应的员工信息字典
            print(f"当前指定员工编号 {emp_id} 信息如下")
            # emp_data : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}
            emp_data = user_data_dict.get(emp_id)
            emp_name = emp_data.get("emp_name")
            emp_age = emp_data.get("emp_age")
            emp_salary = emp_data.get("emp_salary")
            print(f'''
                       ------- emp_info -------
                        员工编号 :>>>> {emp_id}
                        员工姓名 :>>>> {emp_name}
                        员工年龄 :>>>> {emp_age}
                        员工薪资 :>>>> {emp_salary}
                       -------    end    -------
                    ''')
            # 【9】是否再次查看信息
            again_input = input("是否继续查看全部信息?(Y/N)")
            if again_input == 'Y' or again_input == 'y':
                print()
                continue
            else:
                tag_check_one = False
    # 【五】删除指定编号信息
    elif function_id == 5:
        # 【1】设置标志位
        tag_delete_one = True
        # 【2】
        while tag_delete_one:
            # 【3】获取所有员工的编号列表
            emp_id_list = user_data_dict.keys()
            print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
            # 【4】输入修改的员工编号对应的员工信息
            emp_id = input("请输入员工编号 :>>>> ").strip()
            # 【4.1】校验员工编号是否已存在
            if emp_id not in user_data_dict.keys():
                print(f"当前编号 :>>>> {emp_id} 不存在!无法查看!")
                # 【4.2】员工编号不存在,则不允许查看该编号
                continue
            # 【5】删除员工编号对应的员工信息字典
            user_data_dict.pop(emp_id)
            print(f"当前员工 {emp_id} :>>>> 信息已删除")
            # 【6】是否再次查看信息
            again_input = input("是否继续删除信息?(Y/N)")
            if again_input == 'Y' or again_input == 'y':
                print()
                continue
            else:
                tag_delete_one = False
    else:
        print(f"意料之外的错误!")

标签:简洁,管理系统,员工,emp,编号,input,data,id
From: https://www.cnblogs.com/dream-ze/p/17857405.html

相关文章

  • 用户登录注册简洁版
    【一】需求介绍设定好用户名和密码,用户通过输入指定的用户名和密码进行登陆最大尝试次数:用户最多尝试猜测3次最大尝试次数后:如3次后,问用户是否继续登陆如果回答Y或y,就再给3次机会,提示【还剩最后三次机会】3次都猜错的话登录结束如果回答N或n,登陆结束!如果格式输入错误,提示......
  • 基于微信小程序的家庭财务管理系统
    (文章目录)详细视频演示请联系我获取更详细的演示视频具体实现截图技术栈后端框架SpringBootSpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一个主要优点是它的自动配置功能。它可以根据你的项目......
  • 基于django的4s店客户管理系统-计算机毕业设计源码+LW文档
    摘 要 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使管理系统的发展。网上办公可以实现远程处理事务,远程提交工作和随时追踪工作的状态。网上管理系统给人们带来前所未有的体......
  • 【开源】基于JavaWeb的快乐贩卖馆管理系统 毕业设计
    一、摘要1.1项目介绍基于JAVA+Vue+SpringBoot+MySQL的快乐贩卖馆管理系统,包含了视频模块、视频收藏模块、视频打分模块、视频交友模块、视频购物车模块和视频订单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础......
  • Java二级医院区域HIS信息管理系统源码(SaaS服务)
    一个好的HIS系统,要具有开放性,便于扩展升级,增加新的功能模块,支撑好医院的业务的拓展,而且可以反过来给医院赋能,最终向更多的患者提供更好的服务。系统采用前后端分离架构,前端由Angular、JavaScript开发;后端使用Java语言开发。融合B/S版电子病历系统,支持电子病历四级。系统运行稳定、......
  • 陕西交控建设管理公司新员工培训数字化转型策略研究——开题
    一、选题意义随着互联网普及到社会的每个角落,物联网、云计算、人工智能(AI)、大数据分析(BI)等一系列的新兴的技术从这些概念被提出到现如今已经逐步成熟乃至飞速发展的时代背景下,数据,已经成为了继社会所公认的生产劳动力、高技能人才、优越的地理位置、丰富的物质资源、非物质资源、......
  • 基于django的4s店客户管理系统-计算机毕业设计源码+LW文档
    摘 要 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使管理系统的发展。网上办公可以实现远程处理事务,远程提交工作和随时追踪工作的状态。网上管理系统给人们带来前所未有的体......
  • 基于微信小程序的酒店管理系统设计与实现(源码+lw+部署文档+讲解等)
    (文章目录)详细视频演示请联系我获取更详细的演示视频具体实现截图[外链图片转存中...(img-Lkna8qpn-1700727246356)]技术栈后端框架SpringBootSpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一......
  • 安防视频监控LiteCVR文物保护智能管理系统建设方案
    1、行业背景为确保地面文物及博物馆的内部安全和防破坏能力,建立符合一级技术防范级别的安全、可靠、先进的文物安全技术防范系统,做到统一规划、统一标准、分步实施,对保证地面文物及博物馆安全和现代化管理是十分必要的。2、建设目标LiteCVR安防视频监控文物保护智能管理平台建......
  • 基于springboot,vue的教务管理系统源码 学生信息管理系统
    项目源码获取方式放在文章末尾处项目技术数据库:Mysql5.7数据表:9张开发语言:Java(jdk1.8)开发工具:idea前端技术:Vue后端技术:SpringBoot 项目源码获取方式放在文章末尾处功能简介该项目是一个教务管理系统,角色分为管理员,教师,学生三个角色,具体功能菜单如下:管理员端    登录    ......