C语言课程设计-高校人事管理系统设计.docx
《C语言课程设计-高校人事管理系统设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计-高校人事管理系统设计.docx(38页珍藏版)》请在三一办公上搜索。
1、一、 题目要求21、 系统功能的基本要求错误!未定义书签。2、 提示错误! 未定义书签。二、需求分析3三、总体设计3四、详细设计41、主函数42、各模块设计5(0)浏览模块6(1) 删除模块错误!未定义书签。(2) 查询模块8(2.1) 按编号查询模块9(2.2) 按姓名查询模块9(3) 编辑模块错误!未定义书签。(4) 统计模块错误!未定义书签。(4.1) 在职人数统计模块11(4.2) 党员人数统计模块11(4.3) 女工人数统计模块11(4.4) 高学历高职称人数统计模块11(5) 排序模块错误!未定义书签。(5.1)按年龄排序模块16(5.2)按来院时间模块16(6) 保存模块错误!未
2、定义书签。五、上机操作18六、完整程序18七、运行结果截图33八、 总结与感想33一、题目要求某高校主要人员有:在职人员(行政人员、教师、一 般人员)、退休人员和临时工。现在需要储存这些人员 的人事档案信息,内容包括编号、姓名、性别、年龄、 职务、职称、政治面貌、最高学历、任职时间、来院 时间、人员类别。其中,人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情 况,添加删除记录。(2)查询功能:能根据编号和姓名进行查询。(3)编辑功能(高级):根据查询对相应的记录 进行修改并储存。(4)统计功能:能根据多种参数进行人员的统计 (在职人数、党员人数、女工人数、高学历高 职称人数(
3、硕士学位以上或者副教授以上), 统计要求同时显示被统计者的信息。(5)排序功能:按照年龄、来院时间进行排序。(6)保存功能:能对输入的数据进行相应的储存。二、需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供 文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该 提供键盘式选择菜单实现功能选择。三、总体设计四、详细设计1、主函数主函数只提供输入输出和功能处理的函数调用。其各功能模块用菜单方 式选择。将main()函数体内的界面选择部分语句单独抽取出来作为一 独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统 界面。【程序】*主函数*/int
4、 main() do int cz;uuts *n ;puts(* 人事管理系统 *n);puts(*请选择以下选项后面的数字输入以确定您要进行的操作*n);puts(选项:”);puts(-浏览:”);puts (-*浏览文件(0);puts(-删除);puts(*删除记录(1);puts(查询);puts(*按名称查询(2)”);puts(*按编号查询(3)”);puts(编辑);puts(*查询名称编辑信息(4);puts(*查询编号编辑信息(5);puts(统计);puts(*统计在职人数(6);puts(*统计党员人数(7)”);puts(*统计女工人数(8);puts(*统计硕士以
5、上学历人数(9);puts(*统计副教授以上职称人数(10);puts(排序);puts(*按年龄进行排序(11);puts(*按来院时间进行排序(12);puts(保存);puts(*将输入的记录进行保存(13);puts(退出);puts(*退出(14);printf(请输入选项号:”);scanf(%d”,&cz);switch (cz) case 0:blose();break;case 1:dele();break;case 2:searname(); break;case 3:searnum(); break;case 4:channame(); break;case 5:chan
6、num(); break;case 6:sumzzrs(); break;case 7:sumdyrs(); break;case 8:sumngrs(); break;case 9:sumssysxlrs();break;case 10:sumfjsyszhichers();break;case 11:sortage();break;case 12:sortlysj();break;case 13:save(); break;case 14:return 0;default: printf(对不起,您没有按要求输入”);while (1);2、各模块设计(0)浏览模块void blose()
7、 int i=0,j;if (fp=fopen(renshi.txt”, r)=NULL) printf(cannot open this filen);return;while (!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,peri.num,peri.name,peri.sex,&peri.ag e,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb)i+;printf(nn当前文件内容是:nn);for(j=0;ji;j+) p
8、rintf(%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);fclose(fp);printf(n);printf(nnnpress any key to continuennn);getchar();printf(n); void dele()(1)删除模块HiJJ int i=0,j,k=0;char num10;printf(请输入您要删除的记录
9、的编号:”);scanf(%s”,num);if (fp=fopen(renshi.txt”, r)=NULL) printf(cannot open this filen);return;while (!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,peri.num,peri.name,peri.sex,&peri.ag e,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;fclose(fp);if (fp=fopen(r
10、enshi.txt”, w)=NULL) printf(cannot open this filen);return;for(j=0;ji;j+) 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.age ,perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);trim();blose();printf();getcha
11、r();(2)查询模块(2.1)按编号查询void searname() int i=0,j,k=0;char name8;printf(请输入您要查询的记录的姓名:”);scanf(%s”,name);if (fp=fopen(renshi.txt”, r+)=NULL) printf(cannot open this filen);return;while(!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,peri.num,peri.name,peri.sex,&peri.ag e,peri.zhiwu,&peri.zhiche,p
12、eri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb) ;i+;printf(您要的信息如下:n);for(j=0;ji;j+) 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.age, perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);k+;if(k=0) printf(-没有您要的信息)
13、;return;fclose(fp);blose();printf();getchar();(2.2 )按姓名查询void searnum() int i=0,j,k=0;char num10;printf(请输入您要查询的记录的编号:”);scanf(%s”,num);if (fp=fopen(renshi.txt”, r+)=NULL) printf(cannot open this filen);return;while (!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,peri.num,peri.name,peri.sex,&
14、peri.ag e,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb);i+;printf(您要的信息如下:n);for(j=0;ji;j+) 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.age, perj.zhiwu,perj.zhiche,perj.zzmm,perj.zgxl,perj.rzsj,perj.lysj,perj.ry
15、lb);k+;if(k=0) printf(-没有您要的信息);return;fclose(fp);blose();printf();getchar();(3)编辑模块 void channame() int i=0,j,k;char name8;printf(请输入您要编辑的记录的姓名:”);scanf(%s”,name);if (fp=fopen(renshi.txt”, r)=NULL) printf(cannot open this filen);return;while(!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,per
16、i.num,peri.name,peri.sex,&peri.ag e,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb) ;i+;fclose(fp);trim();if (fp=fopen(renshi.txt”, w)=NULL) printf(cannot open this filen);return;printf (-请输入您要修改的项所对应的数字:(编号对应的数字为,其他项依次为,3,4.)”); scanf(%d”,&k);printf(-请输入这一项修改后的值);for(j=
17、0;ji;j+) if (strcmp(perj.name,name)=0) switch(k) case 1:scanf(%s”,perj.num);break;case 2:scanf(%s”,perj.name);break;case 3:scanf(%s”,perj.sex); break;case 4:scanf(%d”,&perj.age);break;case 5:scanf(%s”,perj.zhiwu); break;case 6:scanf(%d”,&perj.zhiche);break;case 7:scanf(%s”,perj.zzmm); break;case 8:s
18、canf(%d”,&perj.zgxl);break;case 9:scanf(%s”,perj.rzsj);break;case 10:scanf(%d”,&perj.lysj);break;case 11:scanf(%s”,perj.rylb);break;case 12:return;default:printf(输入错误);for(j=0;ji;j+) fprintf(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,
19、perj.zgxl,perj.rzsj,perj.lysj,perj.rylb);fclose(fp);trim();blose();printf();getchar();void channum() int i=0,j,k;char num10;printf(请输入您要编辑的记录的编号:”);scanf(%s”,num);if (fp=fopen(renshi.txt”, r)=NULL) printf(cannot open this filen);return;while (!feof(fp) fscanf(fp,%s %s %s %d %s %d %s %d %s %d %s”,per
20、i.num,peri.name,peri.sex,&peri.ag e,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb) ;i+;fclose(fp);if (fp=fopen(renshi.txt”, w)=NULL) printf(cannot open this filen);return;printf (-请输入您要修改的项所对应的数字:(编号对应的数字为,其他项依次为,3,4.)”); scanf(%d”,&k);printf(-请输入这一项修改后的值);for(j=0;ji;j+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 高校 人事管理系统 设计
链接地址:https://www.31ppt.com/p-4883873.html