- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江西师范大学
本科生课程论文封面课程名称 C语言课程设计类别:C.本科生组长:黄金峰组员:谢熊飞 吴云清 王伟 林梦婷
日期:2014年7月7日课程设计评语
对课程论文的评语:平时成绩: 课程论文成绩: 总 成 绩: 评阅人签名:
注:1、无评阅人签名成绩无效;
2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目 录
课程设计评语 2
目 录 3
1.课程论文题目 4
2.程序设计思路 4
3.功能模块图 6
4.数据结构设计 6
5.算法设计 6
6.程序代码 17
7.程序运行结果 27
8.编程中遇到的困难及解决方法 30
9.总结心得及良好建议 30
10.致谢 31课程论文题目
【要求】
该系统能够实现工资信息管理.系统包括录入,浏览,查询,统计等功能.其中录入功能要求能够添加新的工资信息到文件;浏览功能要求能按照工资卡号,姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号,姓名查询;统计功能要求能够按照月份累计统计某职工在某时间段实发工资总金额。
【提示】
文件中一行数据对应一个职工工资信息。
工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录。
工资单信息包括工资卡号、姓名、月份、应发工资、税费、电费、税金、实发工资等。
实发工资=应发工资—税费—电费—税金,其中税金计算方法为:
应发工资800元,税金=0
800应发工资1400元,税金=(应发工资—800)*5%
应发工资1400元,税金=(应发工资—1400)*10%
二.程序设计思路
(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;
(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;
(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
整个系统可以分为信息输入、信息新增、信息浏览、信息排序和信息查询五个主要模块。3、详细设计
(1)工资信息采用结构体数组:
struct list
{int num;//工资卡号char name[20];//姓名int month; //月份int salary1;//应发工资int water; //水费int electrisity;//电费
float fax;//税金float salary2;//实发工资
}list[N];//list[N]中每个数组元素对应一个职工工资信息
(2)输入模块
按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。
文件操作函数:fopen,fwrite,fclose.
税金的计算:
if(应发工资=800)税金=0;
else if (应发工资800应发工资=1400)
税金=(应发工资-800)*5%;
else if (应发工资1400)
税金=(应发工资-1400)*10%;
实发工资=应发工资-水费-电费-税金。
(3)新增模块
增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以“ab”方式打开文件)。
(4)浏览模块
调用排序模块的排序功能,可以浏览排序后的所有职工信息。
(5)排序模块
排序模块提供菜单选择,实现按照工资卡号升序、实发工资升序排序。排序方法可以选择冒泡排序、插入排序、选择排序等,本系统用的是冒泡排序。
(6)查询模块
实现按照工资卡号和姓名的查询,采用基本的查找方法即可。
功能模块图
数据结构设计
系统用将职工各项信息以结构体类型struct list来定义,它包括num,name[20],month,salary1,water,electricity,fax,salaly2等不同类型的数据项,同时定义了结构体数组,包括N个数组元素,对应N个职工,每一个元素用来存放一个职工的数据;每个职工的信息以结构体方式从内存和磁盘文件中进行存储和导出。以结构体方式来整合职工的不同信息,将不同的数据组合成一个有机整体,非常方便程序的调用。
算法设计
1主函数
主函数一般设计比较简单,只提供输入、处理和输出部分的函数调用。各功能模块用菜单方式选择。NY
#includestdio.h
#includestring.h
#includeconio.h
#includestdlib.h
#define N 50
void main
文档评论(0)