C语言人事管理(附加流程图)_第1页
C语言人事管理(附加流程图)_第2页
C语言人事管理(附加流程图)_第3页
C语言人事管理(附加流程图)_第4页
C语言人事管理(附加流程图)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题目: 某高校主主要人员员有:在在职人员员(行政政人员,教教师,一一般员工工),退退休人员员和临时时工。现现在需要要存储这这些人员员的人事事档案信信息,内内容包括括变好,姓姓名,性性别,年年龄,职职务,职职称,政政治面貌貌,最高高学历,任任职时间间,来院院时间,人人员类别别。其中中人员编编号唯一一,不能能重复。 (11) 添添加删除除功能:能根据据学院人人事的变变动情况况,添加加删除记记录 (2) 查询功功能: 能根据据编号和和姓名进进行查询询 (33) 编编辑功能能(高级级): 根据查查询对相相应的记记录进行行修改并并存储 (44) 统统计功能能: 能根据据多种参参数进行行人员的的统计(在在

2、职人员员,党员员人数,女女工人数数,高学学历高学学历人员员(硕士士学位以以上或者者副教授授以上),统统计要求求同时显显示被统统计者的的信息。(5) 排排序功能能: 按按照年龄龄,来院院时间进进行排序序。(6) 保保存功能能: 能能对输入入的数据据进行相相应的存存储。程序代码: HTMLCONTROL Forms.HTML:Hidden.1 HTMLCONTROL Forms.HTML:Hidden.1 HTMLCONTROL Forms.HTML:Hidden.1 HTMLCONTROL Forms.HTML:Hidden.1 HTMLCONTROL Forms.HTML:Hidden.1 H

3、TMLCONTROL Forms.HTML:Hidden.1 HTMLCONTROL Forms.HTML:Hidden.1 #inclludee /*根据据实际存存放位置置修改此此路径*/*初始化化双链表表*/void iniit() Fiirstt=(TTEACCHERR *)malllocc(siizeoof(TTEACCHERR); /*为头结结点申请请空间*/ Laast=Firrst; /*将尾指指针指向向头结点点*/ Fiirstt-pprioor=LLastt; /*设置置头结点点的前驱驱指针*/ Laast-neext=Firrst; /*设置头头结点的的后继指指针*/ p=

4、Firrst; /*设置当当前记录录指针为为头结点点*/*创建教教师信息息循环双双链表*/void creeatee() innt uunitt,fllag=0; flloatt teemp; TEEACHHER *innfo; /*新增结结点*/ innit(); foor(;) iff(fllag=1)breeak; /*标志为为1,不不再输入入*/ cllrsccr(); /*清屏屏*/ prrinttf(Pleeasee ennterr teeachher inffomaatioonnn); prrinttf(inpput eend enttern); innfo=(TEEACHHER

5、 *)mmallloc(sizzeoff(TEEACHHER);/*为新新增结点点申请空空间*/ iff(!iinfoo) /*没有有空间出出错处理理*/ priintff(nouut oof mmemoory); exiit(00); prrinttf(No:); /*开始提提示输入入*/ sccanff(%s,inffo-no); iff(innfo-noo0=)/*输输入结结束输入入*/ flaag=11;brreakk; priintff(NNamee:); scaanf(%ss,iinfoo-nnamee); priintff(SSex:); scaanf(%ss,iinfoo-ss

6、ex); priintff(PProffesss:); scaanf(%ss,iinfoo-pproffesss); priintff(DDeptt:); scaanf(%ss,iinfoo-ddeptt); priintff(CClasss:); scaanf(%ss,iinfoo-cclasss); priintff(WWorkkloaad:); scaanf(%ff,&temmp); inffo-worrklooad=temmp; if(strrcmpp(innfo-prrofeess,prrof)uunitt=255; /*教授授*/ if(strrcmpp(innfo-prrofee

7、ss,approff)uniit=220;/*副教教授*/ if(strrcmpp(innfo-prrofeess,leect)uunitt=155;/*讲师*/ if(strrcmpp(innfo-prrofeess,asss)unnit=10;/*助助教*/ inffo-lesssonnf=uunitt*innfo-woorklloadd;/*根据职职称计算算代课费费*/ inffo-nexxt=LLastt-nnextt;/*新插入入结点插插在表末末尾*/ inffo-priior=Lasst; /*新新结点的的前驱为为原来的的尾结点点*/ Lasst-nexxt=iinfoo; /*原

8、来来尾结点点的后继继为新结结点*/ Lasst=iinfoo; /*新的的尾结点点为新结结点*/ Firrst-prriorr=Laast;/*头头结点的的前驱为为尾指针针*/ reeturrn;/*显示第第一条记记录*/void firrstrr() iff(Fiirstt=LLastt)reeturrn; cllearr(); p=Firrst-neext; prrintt(p);/*显示最最后一条条记录*/void lasstr() iff(Fiirstt=LLastt)reeturrn; cllearr(); p=Lasst; prrintt(p);/*显示前前一条记记录*/void

9、priiorrr() iff(Fiirstt=LLastt) reeturrn; iff(p-prriorr!=FFirsst) p=p-priior; ellse p=Lasst; cllearr(); prrintt(p);/*显示下下一条记记录*/void nexxtr() iff(Fiirstt=LLastt) reeturrn; iff(p=Laast) p=Firrst-neext; ellse p=p-nexxt; cllearr(); prrintt(p);/*从文件件读数据据*/void loaad() TEEACHHER *p11; FIILE *fpp; iff(ffp=

10、ffopeen(datta.ttxt,rrb)=NULLL) prrinttf(cann noot oopenn fiilen); reeturrn; whhilee(Fiirstt-nnextt!=FFirsst) /*如如果当前前表不空空,删除除当前表表*/ p11=Fiirstt-nnextt; Fiirstt-nnextt=p11-nnextt; frree(p1); frree(Firrst); Fiirstt=(TTEACCHERR*)mmallloc(sizzeoff(TEEACHHER); /*创创建头结结点*/ iff(!FFirsst) prrinttf(outt off

11、meemorry!n); reeturrn; Laast=Firrst; Fiirstt-pprioor=LLastt; Laast-neext=Firrst; p=Firrst; whhilee(!ffeoff(fpp) /*当当文件不不为空时时读数据据*/ p11=(TTEACCHERR*)mmallloc(sizzeoff(TEEACHHER); iff(!pp1) priintff(oout of memmoryy!nn); retturnn; iff(1!=frreadd(p11,siizeoof(TTEACCHERR),11,fpp) breeak; /*读数据据*/ p11-nn

12、extt=Laast-neext; /*将新读读出的数数据链在在当前表表尾*/ p11-pprioor=LLastt; Laast-neext=p1; Laast=Lasst-nexxt; Fiirstt-pprioor=LLastt; fcclosse(ffp); /*关闭文文件*/*保存数数据到磁磁盘文件件*/void savve() FIILE *fpp; /*定定义指向向文件的的指针*/ TEEACHHER *p11; /* 定定义移动动指针*/ iff(ffp=ffopeen(datta.ttxt,wwb)=NULLL) /*为为输出打打开一个个文本文文件,如如没有则则建立*/ pr

13、rinttf(cann noot oopenn fiilen); /*如不不能打开开文件,显显示提示示信息,结结束程序序*/ reeturrn; /*返回*/ p11=Fiirstt; /*移动动指针从从头指针针开始*/ whhilee(p11-nnextt!=FFirsst) /*如如p1不不为空*/ fwwritte(pp1-nexxt,ssizeeof(TEAACHEER),1,ffp); /*写入一一条记录录*/ p11=p11-nnextt; /*指指针后移移,处理理下一条条记录*/ fcclosse(ffp); /*关闭文文件*/*删除记记录*/void delletee() TE

14、EACHHER *p11; iff(Fiirstt=LLastt) reeturrn;/*表为为空*/ iff(p=Fiirstt) /*p为为头结点点*/ p=Firrst-neext; iff(p=Laast)/*pp为尾结结点*/ Laast=p-priior; p11=p; /*一般情情况*/ p=p-nexxt; p11-pprioor-nexxt=pp1-nexxt; p11-nnextt-pprioor=pp1-priior; frree(p1);/*输出记记录*/void priint(TEAACHEER *p) innt xx1=770,yy1=1100; chhar str

15、r200; ouutteextxxy(xx1+1110,y1+75, p-noo); ouutteextxxy(xx1+3360,y1+75,p-namme); ouutteextxxy(xx1+1110,y1+1055,p-seex); ouutteextxxy(xx1+3360,y1+1055,p-prrofeess); ouutteextxxy(xx1+1110,y1+1355,p-deept); ouutteextxxy(xx1+3360,y1+1355,p-cllasss); spprinntf(strr,%f,p-worrklooad); ouutteextxxy(xx1+1110

16、,y1+1655,sttr); spprinntf(strr,%f,p-lesssonnf); ouutteextxxy(xx1+3360,y1+1655,sttr);/*清除除界面显显示信息息*/void cleear() innt xx1=770,yy1=1100,m,nn; foor(mm=0;m44;m+) foor(nn=0;nnnextt=FFirsst|Firrst-neext-neext=Fiirstt)reeturrn; p000=FFirsst; /*作作排好序序表的表表头和第第一个结结点*/ p00=Fiirstt-nnextt; p11=p00-nnextt; Fiir

17、stt-pprioor=pp0; p00-nnextt=Fiirstt; teempllastt=p00; whhilee(p11!=FFirsst) /*当当p1没没有转回回到表头头时*/ p111=pp1; /*将pp11作作为待插插入结点点*/ p11=p11-nnextt; /*p11指向下下一个待待排序结结点*/ p000=FFirsst; /*从从头结点点开始寻寻找插入入位置*/ p00=p000-nexxt; /*pp0是pp00的的后继*/ whhilee(p00!=FFirsst&p111-wworkkloaadpp0-worrklooad) p000=p00;/*当新插插入结点点比当前前表结点点大时,指指针后移移*/ p0=p0-neext; iff( pp0=Firrst)/*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论