c语言课程设计-人事管理系统5320.docx

上传人:you****now 文档编号:68833704 上传时间:2022-12-30 格式:DOCX 页数:62 大小:746.50KB
返回 下载 相关 举报
c语言课程设计-人事管理系统5320.docx_第1页
第1页 / 共62页
c语言课程设计-人事管理系统5320.docx_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《c语言课程设计-人事管理系统5320.docx》由会员分享,可在线阅读,更多相关《c语言课程设计-人事管理系统5320.docx(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、本科生C语语言课程程设计论论文课程名称CC语言课课程设计计教师姓名朱朱莉本科生姓名名李百蝉蝉本科生学号号20111100029986本科生专业业地质学学所在院系 地球科科学学院院 日 期期: 220133年122月266日目 录目 录21.课程论论文题目目32.程序设设计思路路33.功能模模块图444.程序代代码45.程序运运行结果果306.课程设设计总结结327.致谢3328.参考文文献32一 课程论论文题目目某高校主要要人员有有:在职职人员(行行政人员员、教师师、一般般员工)、退退休人员员和临时时工。现现在,需需要存储储这些人人员的人人事档案案信息:编号、姓姓名、性性别、年年龄、职职务、职

2、职称、政政治面貌貌、最高高学历、任任职时间间、来院院时间、人人员类别别。其中中,人员员编号唯唯一,不不能重复复。(1) 添加删除功功能:能能根据学学院人事事的变动动情况,添添加删除除记录;(2) 查询功能:能根据据编号和和姓名进进行查询询;(3) 编辑功能(高高级):根据查查询对相相应的记记录进行行修改,并并存储;(4) 统计功能:能根据据多种参参数进行行人员的的统计(在在职人数数、党员员人数、女女工人数数、高学学历高职职称人数数(硕士士学位以以上或者者副教授授以上),统统计要求求同时显显示被统统计者的的信息;(5) 排序功能:按照年年龄、来来院时间间进行排排序;(6) 保存功能:能对输输入的

3、数数据进行行相应的的存储;二 程序设设计思路路根据题目要要求,人人事信息息是存放放在文件件中的,所所以应该该提供相相应的文文件的输输入输出出的功能能,在程程序中应应该有添添加删除除,查询询,编辑辑,统计计,排序序,保存存等程序序实现相相应的操操作,另另外菜单单式的选选择方式式选择程程序的功功能也是是必须需需的。另另外程序序中要求求存储的的模块,采采用的方方式均为为将原文文件中的的所有数数据读入入内存,在在内存中中处理之之后以覆覆盖的方方式写入入文件中中重新储储存,这这样的方方法容易易理解、容容易编写写,但当当文件中中的数据据量很大大时,这这种方法法也存在在一定的的难度,在在本程序序中将MM定为

4、220000,也即即最多可可储存的的职工人人数为220000;根据以上需需求分析析,将程程序分成成以下几几个模块块: 1.添添加和删删除 *添添加人员员信息并并保存(11) *按按名称和和编号查查询与删删除记录录并保存存(2) 22.查询询与编辑辑 *按按名称和和编号查查询 *重重新编辑辑信息并并保存 33. 统统计 *统统计在职职人数 *统统计党员员人数 *统统计女工工人数 *统统计硕士士以上学学历和副副教授以以上职称称人数 *将统统计得到到的信息息保存在在worrkerr3.ttxt文文件中 44. 排排序 *按按年龄进进行排序序(1) *按按来院时时间进行行排序(2)三 功能模模块图四程

5、序代码码1、 主函数:主函数设计计的比较较简单,只只提供输输入、处处理和输输出部分分的函数数调用。其其中各功功能模块块用菜单单方式选选择。其其流程图图如下程序开始显示一系列功能根据n的值调用个功能模块函数结束输入n,判断是否是04NYmain()int n,ww;doputts(tt*高校人人事管理理*nnnn);putts(ttttt 1.添添加或删删除nn); putts(ttttt 2.查查询与编编辑nn);putts(ttttt 3.统统计nn);putts(ttttt 4.排排序nn);putts(ttttt 5.退退出nn);putts(tt*n);priintff(选选择你要要的

6、服务务(1-5): bbb);scaanf(%dd,&n);if(n5)w=1;geetchhar();elsse ww=0;whille(ww=11);swittch(n)casse 11:reetiffy();maain();bbreaak;casse 22:seear_ediit();maain();bbreaak;casse 33:sttat();mmainn();breeak;casse 44:roow();maain();bbreaak; casse 55:exxit(0);breeak;strucct wworkkerint numm;charr naame20;charr se

7、ex110;int oldd;charr zhhichhengg200;charr zhhiweei220;charr miianmmao20;charr xuuelii200;int comme_ttimee;int worrk_ttimee;int leiibiee;worN;1.添加与与删除模模块,此此模块有有(1),(22)两个个模块构构成。void rettifyy()int n,ww;doputts(tt*删除除或添加加人员的的信息*nnnnnn);putts(ttttt 1.添添加); putts(ttttt 2.删删除);priintff(请请选择服服务(11-2): bbb)

8、;scaanf(%dd,&n);if(n2)w=11;geetchhar();elsse ww=0;whille(ww=11);swittch(n)casee 1:tiaanjiia();brreakk;casee 2:shaanchhu();brreakk;(1).添添加模块块:开始输入你要添加人的信息并且显示在屏幕中对原文件进行添加并保存void tiaanjiia()FILEE *ffp;int i,nnumbber;struuct worrkerr woor_ttN;prinntf(您要要添加的的人的人人数:);scannf(%d,&nnumbber); pprinntf(输入入添加人

9、人的信息息:nn);for(i=00;inummberr;i+)priintff(编编号:n);sccanff(%d,&woor_tti.nuum);priintff(姓姓名:n);scaanf(%ss,wwor_tii.nnamee);priintff(性性别:n);sccanff(%s,worr_ti.sexx);priintff(年年龄:n);sccanff(%d,&woor_tti.olld);priintff(职职称:n);sccanff(%s,worr_ti.zhiicheeng);priintff(职职位:n);sccanff(%s,worr_ti.zhiiweii);priin

10、tff(政政治面貌貌:nn);scaanf(%ss,wwor_tii.mmiannmaoo);priintff(学学历:n);sccanff(%s,worr_ti.xueeli);priintff(来来院时间间:nn);scaanf(%dd,&worr_time_ttimee); priintff(在在院工作作时间:n);sscannf(%d,&wwor_tii.wworkk_tiime);priintff(在在职与否否:在职职请按11,不在在职请按按2nn);scaanf(%dd,&worr_ti.leiibiee);priintff(您您刚才输输入的人人的信息息n);priintff(%d

11、 %s %s %d %s %s %s %s %d %d %d n,worr_ti.numm,woor_tti.naame,worr_ti.sexx,woor_tti.olld,wwor_tii.zzhicchenng,wwor_tii.zzhiwwei,worr_ti.miaanmaao,wwor_tii.xxuelli,wwor_tii.ccomee_tiime,worr_ti.worrk_ttimee,woor_tti.leeibiie);if(fp=foppen(D:ttxtwoorkeer.ttxt,aa+)=NULLL) priintff(nCaannoot oopenn fiile

12、n);exiit(00);for(i=00;inummberr;i+)fprrinttf(ffp,n%d %s %s %d %s %s %s %s %d %d %d,worr_ti.numm,woor_tti.naame,worr_ti.sexx,woor_tti.olld,wwor_tii.zzhicchenng,wwor_tii.zzhiwwei,worr_ti.miaanmaao,wwor_tii.xxuelli,wwor_tii.ccomee_tiime,worr_ti.worrk_ttimee,woor_tti.leeibiie);fcloose(fp);(2).删删除模块块该模块的

13、功功能是根根据编号号和姓名名先查询询出该人人的信息息,然后后从原文文件中删删除该人人的信息息。流程程图如下下,开始输入要删除记录的编号和姓名该人存在与否?显示:该人在?删除原文件中该人的信息并且保存YN程序void shaanchhu()FILEE *ffp,*fp11;int i,nnumbber,k,jj,m;struuct worrkerr woorkeer1M,worrkerr2MM;int aNN;charr bN20;prinntf(您要要删除的的人的人人数:n);scannf(%d,&nnumbber);for(i=00;inummberr;i+)priintff(输输入删除除人

14、的信信息的编编号和姓姓名:n);priintff(输输入删除除人的编编号:n);sccanff(%d,&ai);priintff(输输入删除除人的姓姓名:n);sccanff(%s,bii);priintff(您您刚才输输入的人人的信息息的编号号和姓名名:nn);priintff(%d %sn,aii,bbi);if(fpp=foopenn(wworkker.txtt,r)=NULLL) priintff(nCaannoot oopenn fiilen);gettch();exiit(00);for(i=00;!ffeoff(fpp);ii+)fsccanff(fpp,%d %s %s %d

15、%s %s %s %s %d %d %dnn,&worrkerr2ii.nnum,worrkerr2ii.nnamee,woorkeer2i.sexx,&wworkker22i.olld,wworkker22i.zhhichhengg,woorkeer2i.zhiiweii,woorkeer2i.miaanmaao,wworkker22i.xuuelii,&wworkker22i.coome_timme,&worrkerr2ii.wworkk_tiime,&woorkeer2i.leiibiee);k=i;m=0;for(i=00;ik;ii+)forr(j=0;jjnuumbeer;jj+)

16、iff(woorkeer2i.numm=aaj|!strrcmpp(woorkeer2i.namme,bbj)bbreaak; if(j=nummberr)woorkeer1m=worrkerr2ii,mm+;prinntf(输出出公司更更改后所所有人员员的信息息:nn编号 姓名名 性别 年年龄 职称称 职位 面面貌 学历 来院院时间 工作作时间 在职与与否nn);if(fp11=foopenn(wworkker.txtt,w)=NULLL) priintff(nCaannoot oopenn fiilen);gettch();exiit(00);for(i=00;im;ii+) priint

17、ff( %d %ss %s %d %s %s %s %s %d %d %dnn,wworkker11i.nuum,wworkker11i.naame,worrkerr1ii.ssex,worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,wworkker11i.coome_timme,wworkker11i.woork_timme,wworkker11i.leeibiie);fprrinttf(ffp1, %d %s %ss %dd %ss

18、%ss %ss %ss %dd %dd %ddn,woorkeer1i.numm,woorkeer1i.namme,wworkker11i.seex,wworkker11i.olld,wworkker11i.zhhichhengg,woorkeer1i.zhiiweii,woorkeer1i.miaanmaao,wworkker11i.xuuelii,woorkeer1ime_ttimee,woorkeer1i.worrk_ttimee,woorkeer1i.leiibiee);fcloose(fp11);getcch();2,查询和和编辑功功能:首先,输入入你要查查询的人人的编号号和姓名名,

19、电脑脑将显示示出该人人的信息息,并提提问你是是否要对对该人的的信息重重新进行行编辑,若若选择了了重新编编辑的选选项就重重新输入入该人的的信息,此此时将显显示该人人的信息息并且对对原文件件进行修修改和保保存。开始输入你要查询人的编号和姓名显示该人的信息是否重新编辑该信息?该人是否存在?显示该人不存在重新输入该人的信息显示你刚才输入的信息,并且保存到原文件里void seaar_eeditt()FILEE *ffp,*fp11;struuct worrkerr woor_ppeopple ,woorkeer1M;int i,kk,m,n;prinntf(你想想查询谁谁?nn);prinntf(输入

20、入你想查查询的人人的编号号和姓名名 nn);prinntf(输入入你想查查询的人人的编号号 nn);scaanf(%dd,&worr_peeoplle.nnum);prinntf(输入入你想查查询的人人的姓名名 nn);scaanf(%ss,wwor_peooplee.naame);if(fp=foppen(woorkeer.ttxt,rr)=00) priintff(nCaannoot oopenn fiilen);geetchh();exiit(00);for(i=00;!ffeoff(fpp);ii+)fsccanff(fpp,%d %s %s %d %s %s %s %s %d %d

21、%d,&woorkeer1i.numm,woorkeer1i.namme,wworkker11i.seex,&worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,&worrkerr1ii.ccomee_tiime,&woorkeer1i.worrk_ttimee,&wworkker11i.leeibiie);k=i;m=-1;for(i=00;ik;ii+)if(worr_peeoplle.nnum=woorkeer1i.numm|!(st

22、trcmmp(wwor_peooplee.naame,worrkerr1ii.nnamee)prrinttf(%d %s %s %d %s %s %s %s %d %d %d,woorkeer1i.numm,woorkeer1i.namme,wworkker11i.seex,wworkker11i.olld,wworkker11i.zhhichhengg,woorkeer1i.zhiiweii,woorkeer1i.miaanmaao,wworkker11i.xuuelii,woorkeer1ime_ttimee,woorkeer1i.worrk_ttimee,woorkeer1i.leiib

23、iee);m=i;fcloose(fp);if(mm=-1) priintff(n这个个人不存存在?);exxit(0);gettch();prinntf(nn你想重重新编辑辑这个人人的信息息吗?n );prinntf(如果果你想,请请按 11n如如果不想想请按 2nn);scannf(%d,&nn);if(nn=11)prrinttf(这个人人的初始始信息:n);prrinttf(n%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11m.nuum,wworkker11m.naame,worrkerr1mm.ssex,worrkerr1mm.oold,wo

24、rrkerr1mm.zzhicchenng,wworkker11m.zhhiweei,wworkker11m.miianmmao,worrkerr1mm.xxuelli,wworkker11m.coome_timme,wworkker11m.woork_timme,wworkker11m.leeibiie);prrinttf( 输入入新的信信息nn);prrinttf(编号:n);sscannf(%d,&wworkker11m.nuum);prrinttf(姓名:n);scaanf(%ss,wworkker11m.naame);prrinttf(性别:n);sscannf(%s,woorkee

25、r1m.sexx);prrinttf(年龄:n);sscannf(%d,&wworkker11m.olld);prrinttf(职称:n);sscannf(%s,woorkeer1m.zhiicheeng);prrinttf(职位:n);sscannf(%s,woorkeer1m.zhiiweii);prrinttf(政治面面貌:n);sccanff(%s,worrkerr1mm.mmiannmaoo);prrinttf(学历:n);sscannf(%s,woorkeer1m.xueeli);prrinttf(来院时时间:n);sccanff(%d,&woorkeer1mme_ttimee);

26、prrinttf(在院工工作时间间:nn);scaanf(%dd,&worrkerr1mm.wworkk_tiime);prrinttf(在职与与否:在在职请按按1,不不在职请请按2n);sccanff(%d,&woorkeer1i.leiibiee);prrinttf(您刚才才输入的的人的信信息nn);prrinttf(n%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11m.nuum,wworkker11m.naame,worrkerr1mm.ssex,worrkerr1mm.oold,worrkerr1mm.zzhicchenng,wworkker1

27、1m.zhhiweei,wworkker11m.miianmmao,worrkerr1mm.xxuelli,wworkker11m.coome_timme,wworkker11m.woork_timme,wworkker11m.leeibiie);if(fpp1=ffopeen(worrkerr.txxt,w)=0) prrinttf(nCCannnot opeen ffileen);exiit(00);forr(i=0;iik;i+)fpprinntf(fp11,%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11i.nuum,wworkker11i.n

28、aame,worrkerr1ii.ssex,worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,wworkker11i.coome_timme,wworkker11i.woork_timme,wworkker11i.leeibiie);fcloose(fp11);3,根据各各个参数数进行统统计:*统统计在职职人数*统统计党员员人数*统统计女工工人数*统统计硕士士以上学学历和副副教授以以上职称称人数*将统计计得到的的信息保保存在wworkke

29、r33.txxt文件件中void staat() FILEE *ffp,*fp11;int w_nnum,d_nnum,wo_numm,x_c_nnum,i,kk;struuct worrkerr woorkeer1M;putss(ttt*统计计人数菜菜单*nn);prinntf(tttttt 各种种人员的的人数); putss(nnntt*n);if(fp=foppen(woorkeer.ttxt,rr)=00) priintff(nCaannoot oopenn fiilen);exiit(00);for(i=00;!ffeoff(fpp);ii+)fsccanff(fpp,%d %s %

30、s %d %s %s %s %s %d %d %d,&woorkeer1i.numm,woorkeer1i.namme,wworkker11i.seex,&worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,&worrkerr1ii.ccomee_tiime,&woorkeer1i.worrk_ttimee,&wworkker11i.leeibiie);k=i;fcloose(fp);w_nuum=00,d_numm=0,wo_numm=0

31、,x_cc_nuum=00;prinntf(女职职工人数数n);for(i=00;ik;ii+)if(!(sstrccmp(worrkerr1ii.ssex,w) w_numm+, prrinttf(%d %s %s %d %s %s %s %s %d %d %dn,worrkerr1ii.nnum,worrkerr1ii.nnamee,woorkeer1i.sexx,woorkeer1i.oldd,woorkeer1i.zhiicheeng,worrkerr1ii.zzhiwwei,worrkerr1ii.mmiannmaoo,woorkeer1i.xueeli,worrkerr1ii.cc

32、omee_tiime,worrkerr1ii.wworkk_tiime,worrkerr1ii.lleibbie);prinntf(女职职工人数数有%dd人nn,ww_nuum); pprinntf(党员员人数n); ffor(i=00;ik;ii+) iff(!(strrcmpp(woorkeer1i.miaanmaao,danng) d_numm+, prrinttf(%d %s %s %d %s %s %s %s %d %d %dn,worrkerr1ii.nnum,worrkerr1ii.nnamee,woorkeer1i.sexx,woorkeer1i.oldd,woorkeer1i

33、.zhiicheeng,worrkerr1ii.zzhiwwei,worrkerr1ii.mmiannmaoo,woorkeer1i.xueeli,worrkerr1ii.ccomee_tiime,worrkerr1ii.wworkk_tiime,worrkerr1ii.lleibbie);prinntf(党员员人数有有%d人人n,d_numm); pprinntf(在职职人员n);for(i=00;ik;ii+)if(worrkerr1ii.lleibbie=1) woo_nuum+, prrinttf(%d %s %s %d %s %s %s %s %d %d %dn,worrkerr1i

34、i.nnum,worrkerr1ii.nnamee,woorkeer1i.sexx,woorkeer1i.oldd,woorkeer1i.zhiicheeng,worrkerr1ii.zzhiwwei,worrkerr1ii.mmiannmaoo,woorkeer1i.xueeli,worrkerr1ii.ccomee_tiime,worrkerr1ii.wworkk_tiime,worrkerr1ii.lleibbie);prinntf(在职职人员有有%d人人n,woo_nuum); pprinntf(高职职称高学学历人数数n);for(i=00;ik;ii+) if(!(sstrccmp(

35、worrkerr1ii.xxuelli,docc) x_c_nnum+; priintff(%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11i.nuum,wworkker11i.naame,worrkerr1ii.ssex,worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,wworkker11i.coome_timme,wworkker11i.woork_timme,wworkker11i.lee

36、ibiie); conntinnue;if(!(sstrccmp(worrkerr1ii.xxuelli,mass) x_c_nnum+; priintff(%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11i.nuum,wworkker11i.naame,worrkerr1ii.ssex,worrkerr1ii.oold,worrkerr1ii.zzhicchenng,wworkker11i.zhhiweei,wworkker11i.miianmmao,worrkerr1ii.xxuelli,wworkker11i.coome_timme,wworkker11i.woork_timme,wworkker11i.leeibiie); conntinnue;if(!(sstrccmp(worrkerr1ii.zzhicchenng,Proofesssorr) x_cc_nuum+; priintff(%d %s %s %d %s %s %s %s %d %d %dnn,wworkker11i.nuum,wworkker11i.naame,worrkerr1ii.ssex,worrkerr1ii.oold,worrkerr1ii.z

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com