简单的工资管理系统小程序,只是练手

需求如下:

工资管理系统
aaa 100000
bbb 80000
ccc 50000
ddd 30000
-----以上是info.txt文件-----
实现效果:
从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息
也写入原info.txt文件。
效果演示:
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
  1 #!/usr/bin/env python
  2 #-*- coding:utf-8 -*-
  3 # @Time    : 2017/9/21 15:19
  4 # @Author  : lichuan
  5 # @File    : salary.py
  6 
  7 import  os
  8 
 25 
 26 def select(read,write):
 27     i=input("please input the employee name:").strip()
 28     for line in read:
 29         if i == line.split()[0]:
 30             print("%s的工资是:%s" % (line.split()[0],line.split()[1]))
 31             return
 32     print("输入错误,请重试!")
 33     read.seek(0)
 34     select(read, write)
 35 
 36 def modify(read,write):
 37     # import os
 38     FLAG_TAG=True
 39     m=input("请输入要修改的员工姓名和工资,以空格分隔").strip().split()
 40     if len(m) !=2:
 41         print("输入错误,请重试,以空格分隔!")
 42         modify(read,write)
 43         return
 44     for i in read:
 45         if i.split()[0] == m[0] and m[1].isdigit():
 46             FLAG_TAG=False
 47             i = "%s %s\n" % (m[0], m[1])
 48         write.write(i)
 49     if FLAG_TAG:
 50         print("输入错误,请重试!")
 51         read.seek(0)
 52         write.seek(0)
 53         modify(read,write)
 54     else:
 55         read.close()
 56         write.close()
 57         os.remove("info.txt")
 58         os.rename(".swap", "info.txt")
 59 
 60 
 61 
 62 def add(read,write):
 63     # import os
 64     a=input("请输入员工姓名和工资,以空格分隔").strip().split()
 65     if len(a) !=2:
 66         print("输入错误,请重试,以空格分隔!")
 67         add(read,write)
 68         return
 69 
 70     for i in read:
 71         if i.split()[0] == a[0]:
 72             print("用户已存在,请重新添加新用户!")
 73             read.seek(0)
 74             write.seek(0)
 75             add(read,write)
 76             return
 77         write.write(i)
 78     write.write("\n%s %s" %(a[0],a[1]))
 79     read.close()
 80     write.close()
 81     os.remove("info.txt")
 82     os.rename(".swap","info.txt")
 83 
 84 
 85 
 86 def out(read,write):
 87 
 88     print("再见!")
 89     # FLAG_TAG=False
 90 
 91 item={
 92     1:"查询员工工资",
 93     2:"修改员工工资",
 94     3:"增加新员工记录",
 95     4:"退出"
 96       }
 97 
 98 fun={
 99     1:select,
100     2:modify,
101     3:add,
102     4:out
103 }
104 
105 FLAG_TAG=True
106 
107 while FLAG_TAG:
108     for i in range(1,5):
109         print("%d, %s" %(i,item[i]))
110     choice=input("请选择:").strip()
111     with open('info.txt','r',encoding="utf-8") as r_read,open('.swap','w',encoding="utf-8") as r_write:
112         if choice.isdigit() and int(choice) >=1 and int(choice)<4:
113             choice=int(choice)
114             fun[choice](r_read,r_write)
115             continue
116         elif choice.isdigit() and int(choice) == 4:
117             FLAG_TAG=False
118             fun[int(choice)](r_read,r_write)
119             break
120         else:
121             print("wrong input,try again!")
122             continue
123     FLAG_TAG=False

 

转载于:https://www.cnblogs.com/litzhiai/p/7573583.html

这是一款适用于中小企业的工资管理软件,具有以下特点: 一、完全免费,让你没有购买、注册之类的烦恼; 二、提供了三十多项实用功能,可以与收费的商业软件相媲美; 二、用你最熟悉的EXCEL编写,所见即所得,直接使用,无需学习; 三、完全开放源代码,你可以看到所有代码,并可以跟踪代码的执行,让你消除对宏病毒的担心; 四、数据与代码在一个文档中,不使用额外的数据库,不需要安装,即拷即用,真正做到绿色版; 五、持续更新(因为有相关单位在使用),并提供数据升级功能,让你可以放心地过渡到最新版本。 六、适用于包括Excel2007在内的各个版本的excel。 特色功能: 一、隐藏无发生额的数据列(行),冻结标题行; 二、提供导出银行代发工资的数据,可自定义银行代发工资的数据格式,方便所有银行代发工资; 三、提供按部门打印工资表,工资条、个人工资单,并可以按部门生成汇总表,提供带汇总的综合查询, 方便查询和打印。 四、允许一次删除多名职工,省却逐个删除的烦恼。 五、提供导出单个或全部工作表的功能,方便数据分发和保存。 六、可以灵活地自定义个税计算公式,个税计算更加方便实用,允许设置住房公积金扣除上限、 调整个税扣除基数。 七、提供按月统一计算个税功能,并提供计算详尽的个税计算过程核对表, 一月多次发放工资再无个税扣除烦恼。 八、新增强大的数据导入功能,既可以导入职工姓名、帐号等基础数据,也可以导入代扣水电费等具体数据, 非常方便实用。 温馨提示: 一、在excel97-2003版中使用时,请先将excel的宏安全性调整为“中”,然后在打开本文档时, 点“启用宏”。(不会设置?没关系,直接点那个“设置宏.reg”就可以了,该文件可以删除) 二、在当前月多次发放工资的情况下,用当月的第1个工资表作为下月工资的基础数据。 三、在将工作表数据复制到附加表后,最好去除A1单元格的批注, 如果正好该附加表的名称符合 工资表的命名规范时,有可能会导致系统会误认为该表是工资表而导致数据被锁定等问题。 四、在excel2007中使用: 1、强烈推荐将文档格式另存为xlsm格式,可减少文档大小一半左右(当然,还可以转换为xls格式) 2、每次打开文档时会在菜单行下,有个“安全提示”行,点“选项”后,启用此内容, 才可以执行本程序的代码。 3、由于excel2007的菜单改为Ribbon,因此本程序的菜单被放在“加载项”下面。 4、本程序在excel2007下完全可以正常使用,但也有些微小的差异: (1)由于代码优化和支持多核处理器,保存所需的时间,大大减少。 (2)“导出全部工作表”所需时间有所增加。 5、由于目前Ribbon技术是1.0版本,还不能实现可视化编程,必须手工修改xml参数, 同时为了兼顾广大非excel2007用户,因此暂不推出excel2007专用版。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值