1、工资管理系统实验任务书一、实验名称 工资管理系统二、实验目的了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。程序涉及结构体、数组、文件等方面知识,掌握利用数组存储结构实现工资管理的原理,为进一步开发出高质量的信息管理系统打下基础。三、实验内容工资管理系统主要实现以下几种功能:1、输入记录功能模块:完成将工资数据存入数组中的工作。2、查询记录功能模块:完成在数组中查找满足相关条件的工资数据记录,并显示。3、更新记录功能模块。完成对工资数据记录的修改、删除、插入和排序操作。4、统计记录功能模块。完成对公司员工的工资在各等级的人数统计。5、输出记录功能模块。实现对工资数据记录的
2、存盘操作。实现将数组中存储的工资数据记录信息以表格的形式在屏幕上打印出来。6、提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。三、实验要求1、 对实验程序进行分析,完成主程序及每个子程序功能说明、参数说明和流程图。例如:1 :函数: void Modify(ZGGZ tp, int n)输入参数:ZGGZ tp 参数概念:职工数据结构数组int n 参数概念:第n条记录输出参数: 无返回参数 函数功能: 完成在数组tp中修改职工工资记录的功能。在修改记录操作中,系统会先按用户输入的职工编号查找到该记录,然后提示用户修改职工编职工工资记录的总数号之外的值,但职工编号不能
3、修改。函数流程图:2:函数: int Locate(ZGGZ tp,int n,char findmess,char nameornum)输入参数:ZGGZ tp 参数概念: 职工数据结构数组Int n 参数概念:职工工资记录的总数char findmess参数概念:保存要查找的内容char nameornum参数概念:按照名字和工号在数组中查找输出参数:return -1;函数功能 :定位数组中符合要求的元素,并返回下标值函数流程图3函数:void Disp(ZGGZ tp,int n)输入参数:ZGGZ tp:参数概念: 职工数据结构数组int n 参数概念:职工工资记录的总数输出参数:无
4、返回值函数功能:用于显示数组中的N条记录函数流程图4:函数:int Add(ZGGZ tp,int n)输入参数:ZGGZ tp参数概念: 职工数据结构数组int n 参数概念:第n条记录输出函数;return n函数功能:在数组中增加工资记录,并返回数组当前值,且显示出来函数流程:函数 int Del(ZGGZ tp,int n)输入参数 :ZGGZ tp参数概念: 职工数据结构数组int n参数概念:第n条记录输出参数:return n函数功能:找到符合条件的记录 ,然后删除,用后一个数据代替前一个数据从而达到删除数据的目的函数流程图6:函数void Qur(ZGGZ tp,int n)输
5、入参数ZGGZ tp:参数概念: 职工数据结构数组int n:参数概念:第n条记录输出参数:无返回值函数功能 :记录数组中按职工编号或姓名查找所满足的条件,并显示出来函数流程图7:函数:int Insert(ZGGZ tp ,参数int n)输入参数ZGGZ tp:参数概念: 职工数据结构数组 int n参数概念:第n条记录输出参数 return n函数功能:用于在数组中插入记录,并返回数组当前记录函数流程图Disptp,n8函数; void Tongji(ZGGZ tp ,int n)输入参数ZGGZ tp :参数概念: 职工数据结构数组int n:职工工资记录的总数输出参数;无输出参数函数
6、功能:用于完成数组中记录统计工作,统计该公司职工工资的整体分布情况。函数流程图9 函数; void Sort(ZGGZ tp, int n)输入参数ZGGZ tp参数概念: 职工数据结构数组 int n参数概念:第n条记录输出参数 ;无返回值函数功能:在数组中利用冒泡排序算法实现数组的按实发工资字段的降序排序。函数流程图10函数: void Save(ZGGZ tp, int n)输入参数ZGGZ tp :参数概念: 职工数据结构数组int n:职工工资记录的总数输出参数 无返回值函数功能:用来保存数组中的n个元素写入磁盘的数据文件中。函数流程图11主函数main()函数功能:用来控制整个工资
7、管理系统主流程图 2、编写补充完成部分不全程序代码,调试程序使其能正确运行(1)/* 删除记录:先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素*/int Del(ZGGZ tp,int n)int sel;char findmess20;int p=0,i=0;if(nNo employee record!n); getchar(); return n;system(cls);Disp(tp,n);printf(n =1 Delete by number =2 Delete by namen);printf( please choice1,2:);scanf(%d,&sel);
8、if(sel=1) stringinput(findmess,10,input the existing employee number:); p=Locate(tp,n,findmess,num); getchar(); if(p!=-1) for(i=p+1;idelete success!n); n-; getchar(); saveflag=1; else Nofind(); getchar(); else if(sel=2) stringinput(findmess,15,input the existing employee name:); p=Locate(tp,n,findme
9、ss,name); getchar(); if(p!=-1) for(i=p+1;idelete success!n); n-; getchar(); saveflag=1; else Nofind();getchar(); return n(2)/* 统计公司的员工的工资在各等级的人数*/void Tongji(ZGGZ tp,int n) int count10000=0,count5000=0,count2000=0,count0=0; int i=0; if(nNot employee record!n); getchar(); return ;system(cls);Disp(tp,
10、n);i=0;while(i=10000) count10000+;i=i+1;continue; /*实发工资10000*/ if(tpi.sfgz=5000) count5000+;i=i+1;continue; /*5000=实发工资=2000) count2000+;i=i+1;continue; /*2000=实发工资5000*/ if(tpi.sfgz2000) count0+;i=i+1;continue; /*实发工资= 10000:%d (ren)n,count10000);printf(5000=sfgz10000:%d (ren)n,count5000);printf(2
11、000=sfgz 5000:%d (ren)n,count2000);printf(sfgzopen file error!n); getchar(); return ; for(i=0;i0) getchar(); printf(nn=save file complete,total saveds record number is:%dn,i); getchar(); saveflag=0; else system(cls); printf(the current link is empty,no employee record is saved!n); getchar(); fclose(fp);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2