第三周作业——工资管理系统(练习文件操作)

本文介绍了一个简单的员工信息管理系统,包括查询员工工资、修改员工信息及添加新员工信息等功能。通过Python实现,利用文件读写操作来存储和更新数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三周作业:

主要考查的是文件操作,含文件只读,只写,以及追加写的操作,并涉及列的修改操作,以及字符串的

strip 去空格操作和split() 对字符串进行切片处理


文件写入操作时注意需要关闭文件 ,否则文件 写入操作只写到内存中,并没有写到文件中


本程序主要有三大功能:

1、查询员工工资 

主要知识点: 

      1、strip和split的用法,用于分割info.txt 存到最应的列表中 

      2、判断名称是否存在于列表中,存在则输入对应的工资 

2、修改员工信息(名称和工资) 主要知识点:

     1、主要是列表的replace操作以及写入文件的操作

3、添加新员工信息 主要知识点: 

    1、追加写入操作,判断重复

流程图如下:


info.txt文件内容如下:

Aalx 100000
Rain 80000
Egon 50000
Yuan 30000

代码如下:

# Author:pjf
# github=https://github.com/pengxuanlan/python/tree/master/day3
# time:2017-12-15 9:00
# file = open("info.txt","r+",encoding="utf-8")

exit_set = False
msg = '''   # 定义菜单项
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
'''
file_r = open("info.txt", "r", encoding="utf-8")  # 读取文件
lines = file_r.readlines()
while not exit_set:
    print(msg)
    choose = input("请输入需要使用的功能:")
    if choose == '1':    # 查询工资

        username = input("请输入查询姓名:")
        for i in lines:
            (user,salay) = i.strip('\n').split()
            if username == user:
                print("%s的工资为:\033[34;1m%s\33[0m" % (username,salay))
                pass
    elif choose == '2':    # 修改员工工资
        user_old = input("请输入员工姓名:").strip()
        for i in lines:
            file = i.strip().split()
            if user_old in file:
                salay_old = file[1]   # 把旧工资取出来
                user_new, salay_new = input("请输入新的员工姓名和工资,用空格分离:").strip().split()
                file_user = open("info.txt", "w", encoding="utf-8")
                for line in lines:
                    if user_old in line:
                        line = line.replace(user_old, user_new)  # 先改名称

                    file_user.write(line)
                file_user.close()
                file_r.close()
                file_r = open("info.txt", "r", encoding="utf-8")  # 重新读取文件
                lines = file_r.readlines()
                file_salay = open("info.txt", "w", encoding="utf-8")   #重新读取文件
                for line in lines:
                    if user_new in line:
                        line = line.replace(salay_old, salay_new)  # 修改工资
                    file_salay.write(line)   # 写入文件
                file_salay.close()  #关闭文件
                file_r.close()
                print("修改成功")
    elif choose == '3':
        file_r = open("info.txt", "r+", encoding="utf-8")  # 追加方式打开方便写入
        lines = file_r.readlines()
        file_list=[]
        for i in lines:
            file = i.strip().split()
            file_list.append(file[0])
        user_new_info = input("请输入新员工的名称和工资,以空格分开:")
        user_x, salay_x=user_new_info.strip().split()
        if user_x in file_list:
            print("用户名已经存在,无法添加")
        else:
            file_r.write(user_new_info+"\n") # 添加换行符
            print("恭喜你,用户 %s 添加成功" % user_x)
            file_r.close()
    elif choose == '4':
        print("再见!")
        exit_set =True
    else:
        print("无效输入,请重新输入")























高校工资管理系统 第一部分 需求分析 主要完成人:孙艳、吴立辉 协助人:袁野、陈飞 随着高等学校的快速发展,高校规模越来越大,教职工的数量也越来越多,高校工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。这就对高校工资管理提出了新的要求,用计算机管理系统来管理高校工资已经成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高了管理效率和水平。高校工资管理系统便是以计算机为工具,通过对工资管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化,也提高了透明度和互动性。 工资管理系统的目的和现实意义就是提高企业或公司的管理效率,避免一些在管理中由于人为因素而存在的一些诸多问题。工资管理系统还可以节省人力资源,不必浪费过多的人力资源在这种手工发放工资的模式之上。工资管理系统也可以为企业或公司节省生产成本,获取更大的利润,人力资源问题的减少必将为企业或公司节省一些不必要的生产成本,从而为企业或公司获取更大的利润。 1一般用户注册 (非管理员) 一般用户需注册,才能进入该系统完成相关操作; 用户注册信息: 用户名(职工号),密码。 2.数据录入和管理用户功能 主要任务是对各种工资信息进行日常的管理,如工资信息的输入、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。 3.数据查询功能 系统需要提供以下查询功能: 1) 教职工月工资情况:年,月,职工号,基本工资,津贴,出勤,应发工资,扣款,实发工资; 2) 部门情况,反映系部代号、系部名称; 3) 教职工基本信息情况,反映教职工的职工号,姓名,职称,系部代号。 4.打印功能 1)打印财务报表;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值