logo资料库

c语言人事管理系统.doc

第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
资料共35页,剩余部分请下载后查看
一、题目要求
二、需求分析
三、总体设计
四、详细设计
1、主函数
2、各模块设计
(0)浏览模块
五、上机操作
六、完整程序
七、运行结果截图
八、总结与感想
中国地质大学(武汉) C 语言课程设计报告 人事管理 学 院 专 业 题 目 班 级 姓 名 : 学 号 指导老师
一、题目要求 .................................................................................................................................... 3 1、系统功能的基本要求 ........................................................................错误!未定义书签。 2、提示....................................................................................................错误!未定义书签。 二、需求分析 .................................................................................................................................... 4 三、总体设计 .................................................................................................................................... 4 四、详细设计 .................................................................................................................................... 5 1、主函数 .................................................................................................................................. 5 2、各模块设计 .......................................................................................................................... 6 (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)保存模块 ................................................................................错误!未定义书签。 五、上机操作 .................................................................................................................................. 19 六、完整程序 .................................................................................................................................. 19 七、运行结果截图 .......................................................................................................................... 34 八、总结与感想.............................................................................................................................. 34
一、题目要求 某高校主要人员有:在职人员(行政人员、教师、一 般人员)、退休人员和临时工。现在需要储存这些人员 的人事档案信息,内容包括编号、姓名、性别、年龄、 职务、职称、政治面貌、最高学历、任职时间、来院 时间、人员类别。其中,人员编号唯一,不能重复。 (1) 添加删除功能:能根据学院人事的变动情 况,添加删除记录。 (2) 查询功能:能根据编号和姓名进行查询。 (3) 编辑功能(高级):根据查询对相应的记录 进行修改并储存。 (4) 统计功能:能根据多种参数进行人员的统计 (在职人数、党员人数、女工人数、高学历高 职称人数(硕士学位以上或者副教授以上)), 统计要求同时显示被统计者的信息。 (5) 排序功能:按照年龄、来院时间进行排序。 (6) 保存功能:能对输入的数据进行相应的储 存。
二、需求分析 根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供 文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该 提供键盘式选择菜单实现功能选择。 三、总体设计 人事 管理 系统 删除模 查询模 编辑模 块 块 块 统计模 块 排序模 保存模 块 块 按编号 查询 按姓名 查询 在职 党员 女工 高学 按年 按来 人数 人数 人数 历高 龄排 院时 统计 统计 统计 职称 序 间排 统计 序
四、详细设计 1、主函数 主函数只提供输入输出和功能处理的函数调用。其各功能模块用菜单方 式选择。将 main()函数体内的界面选择部分语句单独抽取出来作为一 独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统 界面。 【程序】 *主函数*/ int main() { do { int cz; puts("****************************************************\n"); puts("****************人事管理系统************************\n"); puts("**请选择以下选项后面的数字输入以确定您要进行的操作**\n"); puts("选项:"); puts("浏览:"); puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" puts(" ****浏览文件(0)"); 删除"); ****删除记录(1)"); 查询"); ****按名称查询(2)"); ****按编号查询(3)"); 编辑"); ****查询名称编辑信息(4)"); ****查询编号编辑信息(5)"); 统计"); ****统计在职人数(6)"); ****统计党员人数(7)"); ****统计女工人数(8)"); ****统计硕士以上学历人数(9)"); ****统计副教授以上职称人数(10)"); 排序"); ****按年龄进行排序(11)"); ****按来院时间进行排序(12)"); 保存"); ****将输入的记录进行保存(13)"); 退出"); ****退出(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:channum();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() { int i=0,j; if((fp=fopen("renshi.txt","r"))==NULL) { printf("cannot open this file\n"); return; } while(!feof(fp)) { fscanf(fp,"%s %s %s %d %s %d %s %d %s %d %s",per[i].num,per[i].name,per[i].sex,&per[i].age,per [i].zhiwu,&per[i].zhiche,per[i].zzmm,&per[i].zgxl,per[i].rzsj,&per[i].lysj,per[i].rylb); i++; }
printf("\n\n当前文件内容是:\n\n"); for(j=0;j
printf(""); getchar(); } (2)查询模块 (2.1)按编号查询 void searname() { int i=0,j,k=0; char name[8]; printf("请输入您要查询的记录的姓名: "); scanf("%s",name); if((fp=fopen("renshi.txt","r+"))==NULL) { printf("cannot open this file\n"); return; } while(!feof(fp)) { fscanf(fp,"%s %s %s %d %s %d %s %d %s %d %s",per[i].num,per[i].name,per[i].sex,&per[i].age,per [i].zhiwu,&per[i].zhiche,per[i].zzmm,&per[i].zgxl,per[i].rzsj,&per[i].lysj,per[i].rylb); i++; } printf("您要的信息如下:\n"); for(j=0;j
分享到:
收藏