工资管理系统

Readme文件:

| -----------------------------|
| 程序名称:工资管理系统程序 |
| -----------------------------|

细节功能:
1.根据用户名查询工资数额
2.新增用户及工资
3.根据用户名对工资数额进行修改
4.根据用户名删除用户及工资条目记录
5.上述所有操作均记录于文件中,每次操作记录结果均为最后一次结果进行保存
--------------------------------------------------------------------------------
程序运行:
1. 运行前需要info.txt文件存在(即用户名、工资所存储的文件)
2. new_info.txt是以临时文件存在(即用户操作过程中会产生临时转换数据)
3. 直接运行Salary_system.py程序即可
4. 如果想手工修改info.txt,请注意格式保持正确(用户名 + 空格 +工资)
--------------------------------------------------------------------------------

#######################################
作者:王承祥
联系方式1:13552310609
联系方式2:dslmoon@163.com
我的博客:https://www.cnblogs.com/wangcx
#######################################

info.txt文件:

Tom 34
Kathy 90
George 100
dd 22
55 55
00 100

new_info.txt文件(默认为空,此处略):

Salary_system(主程序):

# -*-coding:utf-8-*-
# _Author_:George

#导入支持系统特性的模块
import sys,os

#用户工资信息文件
filename = "info.txt"

#过程操作临时文件
new_filename = "new_info.txt"

#用户名与工资字典
info_dict = {}


#初始化用户工资信息
def info():
    with open(filename,"r") as f:
        for i in f:
            if not i.startswith("\n"):
                i = i.strip()
                info_dict[i.split(" ")[0]]=i.split(" ")[1]

#查询函数
def select():
    while True:
        info()
        user_info = input("\033[35;1m查询\033[0m请输入【姓名】:").strip()
        if user_info in info_dict.keys():
            print("\033[34;1m%s\033[0m的工资是:\033[31;1m%s\033[0m" %(user_info,info_dict[user_info]))
        if user_info == "b":
            break
        if user_info not in info_dict.keys():
            print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_info)
#新增函数
def insert():
    while True:
        info()
        user_info = input("\033[35;1m新增\033[0m【姓名 工资】以空格隔开:").strip()
        user_list = user_info.split(" ")
        if user_list[0] == "" or user_list[0] == "\n" or len(user_list) is not 2:
            print("\033[31;1m请正确输入信息...\033[0m")
            continue
        if user_list[0] not in info_dict.keys():
            user_info = "\n" + user_info
            with open(filename,"a+") as f:
                f.write(user_info)
            print("\033[34;1m%s\033[0m用户添加成功!" % user_list[0])
            break
        if user_info == "b":
            break
        if user_list[0] in info_dict.keys():
            print("\n\033[34;1m%s\033[0m用户已存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_list[0])
# 修改函数
def update():
    while True:
        info()
        user_info = input("\033[35;1m修改\033[0m请输入【姓名 工资】:").strip()
        user_list = user_info.split(' ')
        if user_list[0] in info_dict.keys():
            with open(filename, 'r') as f1, \
                    open(new_filename, 'w') as f2:
                for i in f1:
                    if i.strip().split(" ")[0] == user_list[0] or i.startswith("\n"):
                        continue
                    f2.write(i)
            with open(new_filename,"a+") as f3:
                f3.write("\n"+user_info.strip())
                print("\033[34;1m%s\033[0m用户修改成功!" % user_list[0])
            os.remove(filename)
            os.rename(new_filename,filename)
        if user_info == "b":
            break
        if user_list[0] not in info_dict.keys():
            print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_list[0])

#删除函数
def delete():
    while True:
        info()
        user_info = input("\033[35;1m删除\033[0m请输入【姓名】:")
        user_list = user_info.split(' ')
        if user_list[0] in info_dict.keys():
            with open(filename, 'r') as f1, \
                    open(new_filename, 'w') as f2:
                for i in f1:
                    if i.strip().split(" ")[0] == user_list[0] or i.startswith("\n"):
                        continue
                    f2.write(i)
                    print("\033[34;1m%s\033[0m用户删除成功!" % user_list[0])
            os.remove(filename)
            os.rename(new_filename, filename)
        if user_info == "b":
            break
        if user_list[0] not in info_dict.keys():
            print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" % user_list[0])

choose_msg = '''
【1】: 查询
【2】: 新增
【3】: 修改 
【4】: 删除
【5】: 退出
'''
salary = {
    '1':select,
    '2':insert,
    '3':update,
    '4':delete,
    '5':sys.exit,
}
while True:
    print(choose_msg)
    choose = input("请输入操作选项:").strip()
    if choose not in salary.keys():
        continue
    salary[choose]()

 

posted on 2017-12-23 16:20  承祥君  阅读(293)  评论(0编辑  收藏  举报

导航