C语言课程设计-人事管理管理系统Ⅱ
![C语言课程设计-人事管理管理系统Ⅱ_第1页](https://file6.zhuangpeitu.com/fileroot6/2023-2/4/a9cfb6e7-1bb1-40ca-a432-36d714cd7594/a9cfb6e7-1bb1-40ca-a432-36d714cd75941.gif)
![C语言课程设计-人事管理管理系统Ⅱ_第2页](/images/s.gif)
![C语言课程设计-人事管理管理系统Ⅱ_第3页](/images/s.gif)
《C语言课程设计-人事管理管理系统Ⅱ》由会员分享,可在线阅读,更多相关《C语言课程设计-人事管理管理系统Ⅱ(28页珍藏版)》请在装配图网上搜索。
1、人事管理管理系统人事管理管理系统要求某高校主要人员有:在职人员行政人员、教师、一般员工、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能高级:根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计在职人数、党员人数、女工人数、高学历高职称人数硕士学位以上或者副教授以上 ,统计要求同时显示被统计者的信息;(5)排序功能:按照年龄、来
2、院时间进行排序;(6)保存功能:能对输入的数据进行相应的存储;一.需求分析:根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将RS 定为 100,也即最多可储存的职工人数为100;二总体设计:根据以上需求分析,将程序分成以下几个模块:1
3、 1 浏览浏览:*浏览文件浏览文件(0)(0)2 2 删除删除*删除记录删除记录(1)(1)3 3 查询查询*按名称查询按名称查询(2)(2)*按编号查询按编号查询(3)(3)4 4 编辑编辑*查询名称编辑信息查询名称编辑信息(4)(4)*查询编号编辑信息查询编号编辑信息(5)(5)5 5 统计统计*统计在职人数统计在职人数(6)(6)*统计党员人数统计党员人数(7)(7)*统计女工人数统计女工人数(8)(8)*统计硕士以上学历人数统计硕士以上学历人数(9)(9)*统计副教授以上职称人数统计副教授以上职称人数(10)(10)6 6 排序排序*按年龄进行排序按年龄进行排序(11)(11)*按来院
4、时间进行排序按来院时间进行排序(12)(12)7 7 保存保存*将输入的记录进行保存将输入的记录进行保存(13)(13)1三 详细设计;1、主函数:主函数设计的比拟简单,只提供输入、处理和输出局部的函数调用。其中各功能模块用菜单方式选择。其流程图如下程程开始显示一系列功能N输入 n,判断是否是 014Y根据 n 的值调用个功能模块函数结束void main()void main()dodo int n;int n;puts(*n);puts(*n);puts(*puts(*人事管理系统人事管理系统*n);*n);puts(*puts(*请选择以下选项后面的数字输入以确定您要进行的操作请选择以下
5、选项后面的数字输入以确定您要进行的操作*n);*n);puts(puts(选项选项:);:);puts(puts(浏览浏览:);:);puts(puts(*浏览文件浏览文件(0);(0);puts(puts(删除删除););puts(puts(*删除记录删除记录(1);(1);puts(puts(查询查询););puts(puts(*按名称查询按名称查询(2);(2);puts(puts(*按编号查询按编号查询(3);(3);puts(puts(编辑编辑););puts(puts(*查询名称编辑信息查询名称编辑信息(4);(4);puts(puts(*查询编号编辑信息查询编号编辑信息(5);(
6、5);puts(puts(统计统计););序序2puts(puts(*统计在职人数统计在职人数(6);(6);puts(puts(*统计党员人数统计党员人数(7);(7);puts(puts(*统计女工人数统计女工人数(8);(8);puts(puts(*统计硕士以上学历人数统计硕士以上学历人数(9);(9);puts(puts(*统计副教授以上职称人数统计副教授以上职称人数(10);(10);puts(puts(排序排序););puts(puts(*按年龄进行排序按年龄进行排序(11);(11);puts(puts(*按来院时间进行排序按来院时间进行排序(12);(12);puts(puts
7、(保存保存););puts(puts(*将输入的记录进行保存将输入的记录进行保存(13);(13);puts(puts(退出退出););puts(puts(*退出退出(14);(14);printf(printf(请输入选项号请输入选项号:);:);scanf(%d,&n);scanf(%d,&n);switch(n)switch(n)case 0:browse();break;case 0:browse();break;case 1:dele();break;case 1:dele();break;case 2:searname();break;case 2:searname();break
8、;case 3:searnum();break;case 3:searnum();break;case 4:channame();break;case 4:channame();break;case 5:channum();break;case 5:channum();break;case 6:sumzzrs();break;case 6:sumzzrs();break;case 7:sumdyrs();break;case 7:sumdyrs();break;case 8:sumngrs();break;case 8:sumngrs();break;case 9:sumssysxlrs();
9、break;case 9:sumssysxlrs();break;case 10:sumfjsyszhichers();break;case 10:sumfjsyszhichers();break;case 11:sortage();break;case 11:sortage();break;case 12:sortlysj();break;case 12:sortlysj();break;case 13:save();break;case 13:save();break;case 14:return;case 14:return;default:printf(default:printf(输
10、入错误输入错误););while(1);while(1);2 2、各功能设计模块各功能设计模块(0 0)浏览模块浏览模块该模块的功能是显示文件的所有信息,流程图如下该模块的功能是显示文件的所有信息,流程图如下3显示所有信息按任意键显示下一屏按任意键继续程序程序void browse()void browse()int i=0,j;int i=0,j;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);
11、return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&pfscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb)eri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&per
12、i.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;printf(nnprintf(nn 当前文件内容是当前文件内容是:nn);:nn);for(j=0;ji;j+)for(j=0;ji;j+)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,p
13、erj.lysj,perj.rylb);j.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);printf(n);printf(n);printf(nnnpress any key to continuennn);printf(nnnpress any key to continuennn);getchar();getchar();printf(n);printf(n);(1 1)删除模块删除模块该模块的功能是根据编号删除记录的信息,删除空行,后
14、面的前移,浏览。流程图如下该模块的功能是根据编号删除记录的信息,删除空行,后面的前移,浏览。流程图如下4开始输入要删除记录的编号删除记录Y是否找到记录?N显示没有找到程序程序void dele()void dele()int i=0,j,k=0;int i=0,j,k=0;char num10;char num10;printf(printf(请输入您要删除的记录的编号请输入您要删除的记录的编号:);:);scanf(%s,num);scanf(%s,num);if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)print
15、f(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.
16、lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;fclose(fp);fclose(fp);if(fp=fopen(renshi.txt,w)=NULL)if(fp=fopen(renshi.txt,w)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp
17、(perj.num,num)!=0)if(strcmp(perj.num,num)!=0)fprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agfprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,perj.zzmm,perj
18、.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);trim();trim();5browse();browse();printf();printf();getchar();getchar();(2 2)按名称查询模块按名称查询模块该模块的功能是根据名字查询记录。流程如下该模块的功能是根据名字查询记录。流程如下开始输入要查询记录的名字显示记录Y是否找到记录?N显示没有找到程序程序void searname()void searname()int i=0,j,k=0;int i=0,j,k=0;char name8;char na
19、me8;printf(printf(请输入您要查询的记录的姓名请输入您要查询的记录的姓名:);:);scanf(%s,name);scanf(%s,name);if(fp=fopen(renshi.txt,a+)=0)if(fp=fopen(renshi.txt,a+)=0)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri
20、.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;printf(printf(您要的信息如下您要的信息如下:n);:n);for(j=0;ji;j+)for(
21、j=0;ji;j+)if(strcmp(perj.name,name)=0)if(strcmp(perj.name,name)=0)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,p
22、erj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);k+;k+;6 if(k=0)if(k=0)printf(printf(没有您要的信息没有您要的信息););return;return;fclose(fp);fclose(fp);browse();browse();printf();printf();getchar();getchar();(3 3)按编号查询模块按编号查询模块该模块功能是根据记录编号查询记录。流程路如下该模块功能是根据记录编号查询记录。流程路如下开始输入要查询记录的编号显示记录Y是否找到记录?N显示没有找到(4 4)程序程序v
23、oid searnum()void searnum()int i=0,j,k=0;int i=0,j,k=0;char num10;char num10;printf(printf(请输入您要查询的记录的编号请输入您要查询的记录的编号:);:);scanf(%s,num);scanf(%s,num);if(fp=fopen(renshi.txt,r+)=NULL)if(fp=fopen(renshi.txt,r+)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!fe
24、of(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri
25、.lysj,peri.rylb);i+;i+;7printf(printf(您要的信息如下您要的信息如下:n);:n);for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp(perj.num,num)=0)if(strcmp(perj.num,num)=0)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,per
26、j.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);k+;k+;if(k=0)if(k=0)printf(printf(没有您要的信息没有您要的信息););return;return;fclose(fp);fclose(fp);browse();browse();printf();printf();getchar();getchar();(5 5)查询名称编辑模块查询名称编辑模块该模块先根据名字查找记
27、录,然后修改记录。流程图如下该模块先根据名字查找记录,然后修改记录。流程图如下开始输入要查询记录的名字输对要改的字入应修项数Y是否找到记录?N显示没有找到输入修改后的值程序程序void channame()void channame()int i=0,j,k;int i=0,j,k;8char name8;char name8;printf(printf(请输入您要编辑的记录的姓名请输入您要编辑的记录的姓名:);:);scanf(%s,name);scanf(%s,name);if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NU
28、LL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzs
29、j,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;fclose(fp);fclose(fp);trim();trim();if(fp=fopen(renshi.txt,w)=NULL)if(fp=fopen(renshi.txt,w)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;printf(printf(请
30、输入您要修改的项所对应的数字请输入您要修改的项所对应的数字:(:(编号对应的数字为编号对应的数字为 1,1,其他项依次为其他项依次为 2,3,4.);2,3,4.);scanf(%d,&k);scanf(%d,&k);printf(printf(请输入这一项修改后的值请输入这一项修改后的值););for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp(perj.name,name)=0)if(strcmp(perj.name,name)=0)switch(k)switch(k)case 1:scanf(%s,perj.num);break;case 1:scanf(%s,p
31、erj.num);break;case 2:scanf(%s,perj.name);break;case 2:scanf(%s,perj.name);break;case 3:scanf(%s,perj.sex);break;case 3:scanf(%s,perj.sex);break;case 4:scanf(%d,&perj.age);break;case 4:scanf(%d,&perj.age);break;case 5:scanf(%s,perj.zhiwu);break;case 5:scanf(%s,perj.zhiwu);break;case 6:scanf(%d,&perj
32、.zhiche);break;case 6:scanf(%d,&perj.zhiche);break;case 7:scanf(%s,perj.zzmm);break;case 7:scanf(%s,perj.zzmm);break;case 8:scanf(%d,&perj.zgxl);break;case 8:scanf(%d,&perj.zgxl);break;case 9:scanf(%s,perj.rzsj);break;case 9:scanf(%s,perj.rzsj);break;case 10:scanf(%d,&perj.lysj);break;case 10:scanf(
33、%d,&perj.lysj);break;case 11:scanf(%s,perj.rylb);break;case 11:scanf(%s,perj.rylb);break;case 12:return;case 12:return;default:printf(default:printf(输入错误输入错误););for(j=0;ji;j+)for(j=0;ji;j+)fprintf(fp,%s%s%s%d%s%d%s%d%s%dfprintf(fp,%s%s%s%d%s%d%s%d%s%d9%sn,perj.num,perj.name,perj.sex,perj.age,perj.zh
34、iwu,perj.zhiche,perj.zzmm,perj.zgx%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);l,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);trim();trim();browse();browse();printf();printf();getchar();getchar();(6 6)查询编号编辑信息模块查询编号编辑信息模块该
35、模块是先根据记录的编号查询记录,而后编辑记录。流程图如下该模块是先根据记录的编号查询记录,而后编辑记录。流程图如下程序程序voidvoidchannum()channum()开始输入要查询记录的编号输入显示没有找对应Y要修是否找到记录?N到改项的数字输入修改后的值 int i=0,j,k;int i=0,j,k;char num10;char num10;printf(printf(请输入您要编辑的记录的编号请输入您要编辑的记录的编号:);:);scanf(%s,num);scanf(%s,num);if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(rens
36、hi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)10 fscanf(fp,%s%s%s%d%s%d%s%d%s%dfscanf(fp,%s%s%s%d%s%d%s%d%s%d11%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.%s,peri.num,peri.name,peri.sex,&p
37、eri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;fclose(fp);fclose(fp);if(fp=fopen(renshi.txt,w)=NULL)if(fp=fopen(renshi.txt,w)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;printf(print
38、f(请输入您要修改的项所对应的数字请输入您要修改的项所对应的数字:(:(编号对应的数字为编号对应的数字为 1,1,其他项依次为其他项依次为 2,3,4.);2,3,4.);scanf(%d,&k);scanf(%d,&k);printf(printf(请输入这一项修改后的值请输入这一项修改后的值););for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp(perj.num,num)=0)if(strcmp(perj.num,num)=0)switch(k)switch(k)case 1:scanf(%s,perj.num);break;case 1:scanf(%s,pe
39、rj.num);break;case 2:scanf(%s,perj.name);break;case 2:scanf(%s,perj.name);break;case 3:scanf(%s,perj.sex);break;case 3:scanf(%s,perj.sex);break;case 4:scanf(%d,&perj.age);break;case 4:scanf(%d,&perj.age);break;case 5:scanf(%s,perj.zhiwu);break;case 5:scanf(%s,perj.zhiwu);break;case 6:scanf(%d,&perj.
40、zhiche);break;case 6:scanf(%d,&perj.zhiche);break;case 7:scanf(%s,perj.zzmm);break;case 7:scanf(%s,perj.zzmm);break;case 8:scanf(%d,&perj.zgxl);break;case 8:scanf(%d,&perj.zgxl);break;case 9:scanf(%s,perj.rzsj);break;case 9:scanf(%s,perj.rzsj);break;case 10:scanf(%d,&perj.lysj);break;case 10:scanf(%
41、d,&perj.lysj);break;case 11:scanf(%s,perj.rylb);break;case 11:scanf(%s,perj.rylb);break;case 12:return;case 12:return;default:printf(default:printf(输入错误输入错误););for(j=0;ji;j+)for(j=0;ji;j+)fprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perjfprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,p
42、erj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);trim();trim();browse();browse();printf();printf();getchar();getchar();11开始判断人员是否在职把在职人员相加完成(7 7)根据
43、在职人数进行统计模块根据在职人数进行统计模块程序程序void sumzzrs()void sumzzrs()int i=0,j;int i=0,j;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.s
44、ex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;if(i=0)if(i=0)printf(printf(这是一个空文件这是一个空文件););return;ret
45、urn;printf(printf(在职人员数量是在职人员数量是%d%d 人人n,i);n,i);for(j=0;ji;j+)for(j=0;ji;j+)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,pe
46、rj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);trim();trim();browse();browse();printf();printf();12getchar();getchar();7 7根据党员人数进行统计模块根据党员人数进行统计模块程序程序void sumdyrs()void sumdyrs()int i=0,j,count=0;int i=0,j,count=0;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.
47、txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl
48、,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;if(i=0)if(i=0)printf(printf(这是一个空文件这是一个空文件););return;return;for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp(perj.zzmm,if(strcmp(perj.zzmm,党员党员)=0)=0)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,p
49、erj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);count+;count+;fclose(fp);fclose(fp);printf(printf(党员数量是党员
50、数量是%d%d 人人,count);,count);trim();trim();browse();browse();printf();printf();getchar();getchar();8 8根据女工人数进行统计模块根据女工人数进行统计模块程序程序void sumngrs()void sumngrs()int i=0,j,count=0;int i=0,j,count=0;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot op
51、en this filen);return;return;while(!feof(fp)while(!feof(fp)13 fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zh
52、iche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;if(i=0)if(i=0)printf(printf(这是一个空文件这是一个空文件););return;return;for(j=0;ji;j+)for(j=0;ji;j+)if(strcmp(perj.sex,if(strcmp(perj.sex,女女)=0)=0)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj
53、.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);count+;count+;fclose(fp);fclose(fp);printf(printf(女工数量是女工数量是%d%d 人人,count);,count);trim();trim();browse();browse();pr
54、intf();printf();getchar();getchar();9 9根据硕士以上学历人数进行统计模块根据硕士以上学历人数进行统计模块void sumssysxlrs()void sumssysxlrs()int i=0,j,count=0;int i=0,j,count=0;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)whil
55、e(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri
56、.rylb);i+;i+;if(i=0)if(i=0)printf(printf(这是一个空文件这是一个空文件););return;return;for(j=0;ji;j+)for(j=0;j=2)if(perj.zgxl=2)printf(%s%s%s%d%s%d%s%d%s%dprintf(%s%s%s%d%s%d%s%d%s%d14%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgx%sn,perj.num,perj.name,perj.sex,perj.age,perj.zh
57、iwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);l,perj.rzsj,perj.lysj,perj.rylb);count+;count+;fclose(fp);fclose(fp);printf(printf(硕士以上学历人数是硕士以上学历人数是%d%d 人人,count);,count);trim();trim();browse();browse();printf();printf();getchar();getchar();1010根据副教授以上职称人数进行统计模块根据副教授以上职称人数进行统计模块v
58、oid sumfjsyszhichers()void sumfjsyszhichers()int i=0,j,count=0;int i=0,j,count=0;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name
59、,peri.sex,&peri.fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;if(i=0)if(i=0)printf(printf(这是一个空文件这是一个空文件););ret
60、urn;return;for(j=0;ji;j+)for(j=0;j=4)if(perj.zhiche=4)printf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.agprintf(%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);e,perj.zhiwu,perj.zhiche,perj.zzmm,per
61、j.zgxl,perj.rzsj,perj.lysj,perj.rylb);count+;count+;fclose(fp);fclose(fp);printf(printf(副教授以上学历人数是副教授以上学历人数是%d%d 人人,count);,count);trim();trim();browse();browse();printf();printf();getchar();getchar();151111按年龄进行排序模块按年龄进行排序模块该模块的功能是根据年龄排序。流程图排序该模块的功能是根据年龄排序。流程图排序开始用选择法排序保存结束程序程序void sortage()void so
62、rtage()int i=0,j,k;int i=0,j,k;struct person a;struct person a;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.fs
63、canf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;i+;fclose(fp);fclose(fp);if(fp=fopen(renshi.txt,w)=NULL)if(fp=fopen(re
64、nshi.txt,w)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;for(j=0;ji;j+)for(j=0;ji;j+)for(k=0;ki;k+)for(k=0;kperk.age)if(perj.ageperk.age)a=perk;a=perk;perk=perj;perk=perj;perj=a;perj=a;16 for(j=0;ji;j+)for(j=0;ji;j+)fprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj
65、.name,perj.sex,perjfprintf(fp,%s%s%s%d%s%d%s%d%s%d%sn,perj.num,perj.name,perj.sex,perj.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);.age,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);fclose(fp);trim();trim();browse();browse();pr
66、intf();printf();getchar();getchar();1212按来院时间进行排序模块按来院时间进行排序模块void sortlysj()void sortlysj()int i=0,j,k;int i=0,j,k;struct person a;struct person a;if(fp=fopen(renshi.txt,r)=NULL)if(fp=fopen(renshi.txt,r)=NULL)printf(cannot open this filen);printf(cannot open this filen);return;return;while(!feof(fp)while(!feof(fp)fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,fscanf(fp,%s%s%s%d%s%d%s%d%s%d%s,peri.num,peri.name,peri.sex,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.sex,&peri.a
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。