欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    C语言课程设计(论文)-高校人事管理系统设计.doc

    • 资源ID:3257981       资源大小:212.04KB        全文页数:34页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计(论文)-高校人事管理系统设计.doc

    一、题目要求21、系统功能的基本要求22、提示2二、需求分析2三、总体设计2四、详细设计31、主函数32、各模块设计5 (0)浏览模块-6(1)删除模块-7 (2) 查询模块-8 (2.1) 按编号查询模块-9 (2.2) 按姓名查询模块-9(3)编辑模块10(4)统计模块11 (4.1) 在职人数统计模块-11 (4.2) 党员人数统计模块-11 (4.3) 女工人数统计模块-11 (4.4) 高学历高职称人数统计模块-11(5)排序模块16 (5.1) 按年龄排序模块-16 (5.2) 按来院时间模块-16(6)保存模块22五、上机操作30六、完整程序31七、运行结果截图53八、总结与感想56一、题目要求 某高校主要人员有:在职人员(行政人员、教师、一般人员)、退休人员和临时工。现在需要储存这些人员的人事档案信息,内容包括编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1) 添加删除功能:能根据学院人事的变动情况,添加删除记录。(2) 查询功能:能根据编号和姓名进行查询。(3) 编辑功能(高级):根据查询对相应的记录进行修改并储存。(4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息。(5) 排序功能:按照年龄、来院时间进行排序。(6) 保存功能:能对输入的数据进行相应的储存。二、需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜单实现功能选择。三、总体设计人事管理系统删除模块查询模块编辑模块统计模块排序模块保存模块按编号查询按姓名查询在职人数统计党员人数统计女工人数统计高学历高职称统计按年龄排序按来院时间排序四、详细设计1、主函数主函数只提供输入输出和功能处理的函数调用。其各功能模块用菜单方式选择。将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。【程序】*主函数*/int main() do int cz; puts("*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(" *统计硕士以上学历人数(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: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 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; printf("nn当前文件内容是:nn"); for(j=0;j<i;j+) 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); fclose(fp); printf("n"); printf("nnnpress any key to continuennn"); getchar(); printf("n");(1)删除模块void dele() 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,&peri.age,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; for(j=0;j<i;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(""); getchar();(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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; printf("您要的信息如下:n"); for(j=0;j<i;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("没有您要的信息"); 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,&peri.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; printf("您要的信息如下:n"); for(j=0;j<i;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.rylb); 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",peri.num,peri.name,peri.sex,&peri.age,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=0;j<i;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:scanf("%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;j<i;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,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",peri.num,peri.name,peri.sex,&peri.age,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;j<i;j+) if(strcmp(perj.num,num)=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:scanf("%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;j<i;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,perj.zgxl,perj.rzsj,perj.lysj,perj.rylb); fclose(fp); trim(); blose(); printf(""); getchar();(4)统计模块(4.1)在职人数统计void sumzzrs() 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; if(i=0) printf("这是一个空文件"); return; printf("在职人员数量是%d人n",i); for(j=0;j<i;j+) 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); fclose(fp); trim(); blose(); printf(""); getchar();(4.2) 党员人数统计void sumdyrs() int i=0,j,count=0; 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; if(i=0) printf("这是一个空文件"); return; for(j=0;j<i;j+) if(strcmp(perj.zzmm,"党员")=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); count+; fclose(fp); printf("党员数量是%d人",count); trim(); blose(); printf(""); getchar();(4.3) 女工人数统计void sumngrs() int i=0,j,count=0; 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; if(i=0) printf("这是一个空文件"); return; for(j=0;j<i;j+) if(strcmp(perj.sex,"女")=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); count+; fclose(fp); printf("女工数量是%d人",count); trim(); blose(); printf(""); getchar();(4.4) 高学历高职称人数统计void sumssysxlrs() int i=0,j,count=0; 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; if(i=0) printf("这是一个空文件"); return; for(j=0;j<i;j+) if(perj.zgxl>=2) 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); count+; fclose(fp); printf("硕士以上学历人数是%d人",count); trim(); blose(); printf(""); getchar();void sumfjsyszhichers() int i=0,j,count=0; 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.age,peri.zhiwu,&peri.zhiche,peri.zzmm,&peri.zgxl,peri.rzsj,&peri.lysj,peri.rylb); i+; if(i=0) printf("这是一个空文件"); return; for(j=0;j<i;j+) if(perj.zhiche>=4) 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); count+; fclose(fp); printf("副教授以上学历人数是%d人",count); trim(); blose(); printf(""); getchar();(5)排序模块(5.1) 按年龄排序模块void sortage() int i=0,j,k; struct person a; 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.age,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; for(j=0;j<i;j+) for(k=0;k<i;k+) if(perj.age>perk.age) a=perk; perk=perj;perj=a; for(j=0;j<i;j+) fprintf(fp,"%s %s %s %d %s %d %s %d %s %d %sn",perj.num,per

    注意事项

    本文(C语言课程设计(论文)-高校人事管理系统设计.doc)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开