(论文 字数:3976页数;14 带程序)【摘要】 本文介绍了采用双链表结构设计实现动态管理的职工工资管理程序的过程。工资管理是一个单位最基本的一项财务管理,本程序采用模块化设计,通过分析企业的工资管理流程,采用C语言编写程序,创建了一套简单的计算机管理职工工资系统的方案。实现了一系列诸如增加新员工、删除旧员工、工资修改、查询等操作
【关键词】职工工资管理,双链表, C语言,工资管理系统
目录
【引言】 【正文】
该程序应有方便的操作界面,实现职工工资的录入、统计、查询、修改、删除、输出。具体包括 输入职工工资信息; 计算应发工资与实发工资; 查询指定工号职工工资记录; 修改指定工号职工工资记录; 删除指定工号职工工资记录; 将所有职工的工资记录按工号顺序输出到指定文本文件SalaryOutput.txt中。
设计思路: 该工资管理程序采用双链表结构实现动态管理,提高查找效率;但是以在单链表基础上为每个结点增加一个指针的存储为代价的,同时管理也更加复杂。本程序设计均用C语言实现,编程环境为WIN-TC。 在双链表里分配给每个结点的存储单元分为三部分:指向前驱接点的指针、结点的数据和指向后续结点的指针。所以定义结点的结构如下: typedef struct em { char shop[20]; /* 车间 */ int num; /* 工号 */ char name[8]; /* 姓名 */ float basic_salary; /* 基本工资 */ float post_salary; /* 岗位工资 */ float bonus; /* 奖金 */ float deal_salary; /* 应发工资 */ float fund; /* 医疗住房基金 base_salary×10℅ */ float tax; /* 税金(deal_salary-1000)×5℅ */ float fact_salary; /* 实发工资 */ struct em * next; /* 后续结点指针 */ struct em * last; /* 前驱结点指针 */ }employee;
结点结构如下所示:
Data包含上述定义的车间、工号等。
工资管理是一个单位最基本的一项财务管理,本程序采用模块化设计,各模块独立,可以分块调试,均有主函数调用。 |