预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C语言课程设计报告-工资管理系统一.系统功能(正文中文是五号宋体,英文为五号TimesNewRoman,段落1.5倍行距,首行缩进2个字符)。(贴图和流程图都要居中,每个图下面都要有标注图的图号和名称,比如:图1系统界面图)。(课程设计报告文件命名规则为:学号+姓名+C语言课程设计报告)。输入记录模块该模块主要实现记录从键盘上输入,首先把文件中存在的记录全部显示出来,而后从键盘接收多次输入记录,如果职工编号重复则提醒重新输入,输入的记录暂保存到结构体数组中,输入0回到主菜单。二、查询记录模块查询记录模块主要完成在数组中查找满足相关条件的记录。在此工资管理系统中,用户可以按照职工编号或者姓名在数组中进行查找。若找到改记录,则以表格形式打印出此记录的信息;否则返回一个-1的值,并打印出未找到改记录的提示信息。三、更新记录模块修改记录修改记录操作需要对数组中目标元素的数据域中的值进行修改,分三步完成:首先显示所有的记录,然后输入要修改的职工编号,调用locate()函数定位该职工的编号记录,第三步,若找到该记录,则修改职工编号之外的各字段的值。删除记录删除记录操作完成删除制定的职工编号或者姓名的记录。也分三步完成:首先显示所有的记录,而后输入要修的职工编号或者姓名,输入后调用locate()函数定位该职工的记录,第三步,若找到该记录,则从该记录所在元素的后续元素七,依次向前移一个元素位置,元素个数减1。插入记录插入记录操作完成在指定职工编号的随后位置插入新的记录。首先,它要求用户输入某个员工的职工编号,新的记录将插入在该记录之后;然后提示用户输入一条新的记录信息。排序操作排序操作主要实现按照实发工资降序排序。分两步,首先输出所有的记录,而后按照冒泡排序法的思想进行排序,输出排序的结果。统计记录模块该模块的实现比较简单,首先输出所有的记录,而后根据实发工资进行判断,完成工资在各个等级的人数统计。输出记录模块输出至文件模块模块是把保存在数组中的记录保存到文件中。当把记录输入至文件时,调用save()函数,即将数组元素中各字段的值都写入文件中。输出至屏幕模块该模块是把保存在数组中的记录显示到屏幕上,调用display()函数,把所有的记录都显示。二.总体设计1、数据结构的设计数据结构设计定义结构体emolyee,用于存放职工的基本信息和工资信息。typedefstructempoyee{charnum[10];保存职工编号charname[15];保存职工姓名floatjbgz;保存职工基本工资floatjj;保存职工奖金floatkk;保存职工扣款floatyfgz;保存职工应发工资floatsk;保存职工税款floatsfgz;保存职工实发工资}ZGGZ;2、函数设计及功能描述1voidmenu()函数用于显示主菜单,共有0-9个选择。2intinput()函数用于从键盘上输入职工的基本信息,从而计算出职工的应发工资、税款以及实发工资,并返回应有职工的人数。intdel(ZGGZa[],inty)函数用于先在数组a中找到满足条件的记录,然后删除该记录。4intsear(ZGGZa[],inty)函数用于在数组a中按职工编号或者姓名查找满足条件的记录,并显示记录。5voidmod(ZGGZa[],inty)函数用于在数组a中修改记录元素。6intinsert(ZGGZa[],inty)函数用于在数组a中插入记录,并返回数组中的当前记录数。7voidcount(ZGGZa[],inty)函数用于在数组a中完成记录的统计工作,统计该公司职工工资的整体分布情况。8voidsort(ZGGZa[],inty)函数用于在数组a中完成利用冒泡排序法实现数组的按实发工资字段的降序排序。9voidsave(ZGGZa[],intn)函数用于将保存职工工资的数组a中的n个元素写磁盘的文件数据中。10voiddisplay(ZGGZa[],intn)函数用于显示数组中存储的n条记录,内容为emplyee中的内容。11voidmain()main()是整个工资管理系统的控制部分。三.函数分析1.函数的原型和参数说明1intdel(ZGGZa[],inty)数组a传递的是结构体数组,y传递的是结构体数组内职工的人数。2intsear(ZGGZa[],inty)数组a传递的是结构体数组,y传递的是结构体数组内职工的人数。3voidmod(ZGGZa[],inty)数组a传递的是结构体数组,y传递的是结构体数组内职工的人数。4intinsert(ZGGZa[],inty)数组a传递的是结构