版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计实验报告班级姓名学号实验课程C实验名称人事管理系统实验成绩实验日期任课教师一、目的(本次课程设计所涉及并要求掌握的知识点。)本次课程设计主要涉及c语言的基础语法,以及指针、文件函数、结构体、函数调用等知识点。二、使用环境(本次上机实践所使用的平台和相关软件。)主要采用windowsxp系统环境+visualc++6.0编译环境三、内容与设计思想(1.设计思路2.主要数据结构3.主要代码结构4.主要代码段分析。)设计思路1、需求分析人事档案信息采用文件存储,因而要提供文件的输入输出操作;根据学院人事的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号和姓名进项查询,所以要提供文件的查找操作;高级编辑功能,就是提供文件的修改操作;统计功能要提供统计操作;排序功能要提供用排序算法对文件记录的排序;另外还要提供键盘式选择菜单以实现功能选择。2、总体设计整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。主要数据结构数据结构采用结构体:StructpersonnelArchiveInfo{CharNo[10];〃编号Charname[10];//姓名Intsex;//性别Intage;〃年龄Charjob[10];〃职务Charpost[10];〃职称Charpolitic[10];//政治面貌Charedu_level[10];〃最高学历Charperiod[10];//任职时间Charstart_time[10];//来院时间Chartype[10];//人员类别}PAInfo;主要代码结构主函数为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的较简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。voidmain(){intflag=0;intchoose=0;FILE*fp二NULL;charyesorno;system("colorB9");if((fp二fopen("employee1.txt","rb+"))二二NULL){printf("\n=========>提示:文件不存在,是否要创建一个?(y)\n");scanf("%c",&yesorno);if(yesorno=='y'||yesorno=='Y'){//这里仅为了建立文件fp=fopen("employee1.txt","wb+");fclose(fp);//关闭fp所指的文件,释放文件缓冲区}elseexit(0);}else{Number=read_file(PAInfo);//要是文件已经有数据将数据初始化到数组中}system("cls");system("colorB9");while(1){menu();system("color20");printf("\t二二二二>请选择:");scanf("%d",&choose);system("cls");switch(choose){case0:exit(0);//退出break;case1:input();fh();//增加职工信息break;case2:add();fh();//查看职工信息break;case3:zc_query();fh();//查找break;case4:num_del();fh();//删除break;case5:tongji();fh();//统计break;case6:sort();fh();//排序break;case7:num_modify();fh();//修改后返回break;case8:save();fh();//保存break;case9:disp();fh();break;//显示default:break;}fflush(stdin);getchar();system("cls");}各功益模块设计数据输入模块看各个数据信息,编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别,在文件中以文本形式存放,每条记录对应一个人员的信息,可以方便信息的管理;而数据读进内存中时,可以以结构体的形式,每一个结构体包含了一个人员的全部信息,多的人员的信息组成了一个结构体数组。定义如下:charNO[10];charname[15];charsex[5];intage;charjob[20];charpost[20];charedu_level[10];charpolitic[20];//政治面貌charperiod[10];//任职时间charstart_time[10];//来院时间chartype[10];//人员类别数据添加模块该模块的功能是拥护需要增加新的员工记录,从键盘输入并逐条写入到原来的文件中去,其中输入号码是要防止号码重复,重复时报告错误,重新输入。为方便用户管理和查看,该模块采用的方式是用先把原来文件中的数据读入内存,保存在内存中,然后在内存中的数据后面增加新的数据,操作完成后用写的方式打开文件,用覆盖的方式写入。voidadd()//增加职工{intnumberTemp=0;inti=0;structpersonnelArchiveInfotemp;//临时保存信息printf("请输入要增加人事信息的个数:");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i++){printf("输入第%d个人事信息\n",i+1);printf("编号:");scanf("%s",temp.NO);printf("姓名:");scanf("%s",);printf("性别:");scanf("%s",temp.sex);printf("年龄:");scanf("%d",&temp.age);printf("部门:");scanf("%s",temp.job);printf("职称:");scanf("%s",temp.post);printf("学历:");scanf("%s",_level);printf("政治面貌:");scanf("%s",&temp.politic);printf("任职时间:");scanf("%s",&temp.period);printf("来院时间:");scanf("%s",&temp.start_time);printf("人员类别:");scanf("%s",&temp.type);PAInfo[Number++]=temp;//将刚添加的写入到数组write_file(&temp);//将刚添加的写入到文件}printf("添加成功\n");}数据删除模块该模块的运行方式与修改模块类似,首先分屏显示所有人员的记录,显示完所有的记录后,由用户输入要删除的人员的号码,根据号码查找相应的记录并将结果显示出来,经用户确认后删除,删除的方法是将文件中的数据读入内存,赋给相应的结构体,并将结构体数组中将删除的后面的数据赋给前一个结构体,然后将相应数据写入文件并保存;voidnum_del()//按编号删除{FILE*fp二NULL;chargh[60];inti=0;intj=0;printf("请输入要删除的人事编号:");scanf("%s",gh);for(i=0;i<Number;i++){if(strcmp(gh,PAInfo[i].NO)==0)//如果查找到就删除{for(j=i;j<Number-1;j++){PAInfo[j]=PAInfo[j+1];}Number--;}}//将剩余数据写入文件重新一写的方式打开文件把以前的数据擦除了fp=fopen("employee1.dat","wb");for(i=0;i<Number;i++){fwrite(&PAInfo[i],sizeof(structpersonnelArchiveInfo),1,fp);}fclose(fp);printf("删除成功;\n");}数据查询模块voidzc_query()//按职称查找{charpost[20];inti=0;printf("请输入要查找人事职称:");scanf("%s",post);system("cls");printf("\t编号\七姓W\t性别\t年龄\t部门\t职称\t学历\t政治面貌\七任职时间\t来院时间\七人员类别\n");for(i=0;i<Number;i++){if(strcmp(post,PAInfo[i].post)==0){printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[i].NO,PAInfo[i].name,PAInfo[i].sex,PAInfo[i].age,PAInfo[i].job,PAInfo[i].post,PAInfo[i].edu_level,PAInfo[i].politic,PAInfo[i].period,PAInfo[i].start_time,PAInfo[i].type);}}}数据修改模块该模块的功能是显示所有信息,考虑到记录较多,采用分屏显示,显示完所有的记录后,由用户输入需要修改的人员的号码,查找成功后,显示查找结果,并询问拥护修改人员的哪部分记录,根据用户选择修改相应的信息,然后保存修改后的结果:voidnum_modify()//修改职工信息{FILE*fp二NULL;chargh[60];inti=0;intchangeIndex=0;//changeIndex改变标记intindex=0;printf("请输入要修改的人事编号:");scanf("%s",gh);for(i=0;i<Number;i++){if(strcmp(gh,PAInfo[i].NO)==0)//比较输入编号和数组中已有编号{changeIndex=i;//保存要修改的人的下标break;}}printf("\t编号\七姓名\七性别\t年龄\t部门\t职称\t学历\t政治面貌\七任职时间\t来院时间\七人员类别\n”);printf("\n\n");printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[changeIndex].NO,PAInfo[changeIndex].name,PAInfo[changeIndex].sex,PAInfo[changeIndex].age,PAInfo[changeIndex].job,PAInfo[changeIndex].post,PAInfo[changeIndex].edu_level,PAInfo[changeIndex].politic,PAInfo[changeIndex].period,PAInfo[changeIndex].start_time,PAInfo[changeIndex].type);printf("请重新输入该人事信息");printf("编号:");scanf("%s",PAInfo[changeIndex].NO);printf("姓名:");scanf("%s",PAInfo[changeIndex].name);printf("性别:");scanf("%s",PAInfo[changeIndex].sex);printf("年龄:");scanf("%d",&PAInfo[changeIndex].age);printf("部门:");scanf("%d",PAInfo[changeIndex].job);printf("职称:");scanf("%s",PAInfo[changeIndex].post);printf("学历:");scanf("%s",PAInfo[changeIndex].edu_level);printf("政治面貌:");scanf("%s",&PAInfo[changeIndex].politic);printf("任职时间:");scanf("%s",&PAInfo[changeIndex].period);printf("来院时间:");scanf("%s",&PAInfo[changeIndex].start_time);printf("人员类别:");scanf("%s",&PAInfo[changeIndex].type);//信息修改后重新更新文件里面的数据以保持数据一致性fp=fopen("employee1.txt","wb+");for(i=0;i<Number;i++){fwrite(&PAInfo[i],sizeof(structpersonnelArchiveInfo),1,fp);//把ptr所指向n*size个字节输入到fp所指向的文件中}fclose(fp);printf("\t=======>修改成功\n");}数据统计模块该模块的功能是按照用户的要求统计出满足符合条件的所有记录的个数,并将满足条件的记录显示出来。该模块没有涉及到文件的保存,所以将文件用只读的方式打开,可以防止操作过程中数据的丢失:voidtongji()//统计{inti,m,k,max,min;doublesum=0.0;for(i=0;i<Number;i++){sum=sum+PAInfo[i].age;}printf("全体人事总年龄为:%f\n",sum);printf("平均年龄为:%f\n",sum/Number);i=0;m=0;max=0;max二PAInfo[m].age;for(i=1;i<Number;i++){if(PAInfo[i].age>max)m=i;max二PAInfo[m].age;}printf("最高年龄为:%d\n",max);printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[m].NO,PAInfo[m].name,PAInfo[m].sex,PAInfo[m].age,PAInfo[m].job,PAInfo[m].post,PAInfo[m].edu_level,PAInfo[m].politic,PAInfo[m].period,PAInfo[m].start_time,PAInfo[m].type);i=0;k=0;min=0;min=PAInfo[0].age;for(i=1;i<Number;i++){if(PAInfo[i].age<min)k=i;min=PAInfo[k].age;}printf("最低年龄:%d\n",min);printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[k].NO,PAInfo[k].name,PAInfo[k].sex,PAInfo[k].age,PAInfo[k].job,PAInfo[k].post,PAInfo[k].edu_level,PAInfo[m].politic,PAInfo[m].period,PAInfo[m].start_time,PAInfo[m].type);}数据排序模块该模块的功能是要求将记录按照年龄或者来院时间进行排序,总体结构是先用sort()函数将文件中的数据调入内存,然后按照选择法排序,并将结果显示出来,然后将排序后的结果保存:voidsort()//排序{structpersonnelArchiveInfot;intwantNUmber=0;inti=0;intj=0;intk=0;for(i=0;i<Number-1;i++){k=i;for(j=i+1;j<Number;j++)
{if(PAInfo[j].age>PAInfo[k].age)k=j;}if(k!=i){t=PAInfo[i];PAInfo[i]=PAInfo[k];PAInfo[k]=t;}}printf("你想输出前几名人事信息:");scanf("%d",&wantNUmber);if(wantNUmber>Number){wantNUmber=Number;}printf("\t编号\t姓名\七性别\t年龄\t部门\t职称\t学历\t政治面貌\t任职时间\t来院时间\t人员类别\n”);for(i=0;i<wantNUmber;i++){printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[i].NO,PAInfo[i].name,PAInfo[i].sex,PAInfo[i].age,PAInfo[i].job,PAInfo[i].post,PAInfo[i].edu_level,PAInfo[i].politic,PAInfo[i].period,PAInfo[i].start_time,PAInfo[i].type);}}四、调试过程(1.测试数据设计2.测试结果分析)主界面:•41MW.、严•41MW.、严■:§:且・心息-J-J-二■J'-i-q.选择1:===>E:m*壮•』:::王少项:■:选择2:ZQLL"J懦扫底电ZQLL"J懦扫底电-一.:..洞1'/,*¥:-,JrSHS■■■:■:(.:■■■■:-盘旧楼厂管选择3:rip-.'..rnt;.,x-.[.::■■■X二:
■r..-EE貌f'.r血].,:.技[闩IWI司:"■r..-EE貌f'.r血]'3m小.±:=TI-I,‘•:!.投E二市旦叫二十叫叫壬£01L干宥•一瞬心蜒回3菜单半:P选择6:__弥嘛出前几名人事信岛2半:邙。坎“+E.W,••土2f「I目V,竺己._性利.-'.Rd「.<::■■:J:.2911干部2TF.;24招生也处长三一,按En虹r健据回主菜单选择4:■r■■.tI-研究生"一尸:党员1:选择9:五、总结.设计中遇到的问题及解决过程在向文件中添加数据的时候,要在打开文件的时候指定正确的文件操作方式,一开始指定文件的操作方式是w,w只写方式,若文件存在,则原有内容会被清除;若文件不存在,则会建立文件,所以每次添加完一条数据后再次插入一条数据前一条数据会自动清空,这样文件中保存的始终是最后输入的一条数据,这不是理想的结果,后来经过查阅技术文档,发现还有另外文件操作方式即追加a,a:追加方式打开只写文件,只允许进行写操作,若文件存在,则添加的内容放在文件末尾;若不存在,则建立文件。通过这种方式操作文件,每添加的一条数据都会自动追加到前一条数据的后面,这种的处理方式是题目所要求的,实现了多条数据的存储。.设计中产生的错误及原因分析经过这一次系统设计编码的过程,我觉得我c语言的文件这一知识点掌握的极为薄弱,导致不能很好的利用一些函数处理问题。而且,有些时候,脑袋中对问题有求解的思路,但是无法一旦着手写代码的时候却写不出来,我觉得这是我对C语言一些关键知识点的理解不够透彻,还有就是,平时编写C语言的代码量很少,以至于编码的时候不能顺手拈来。.设计体会和收获。三周的C语言课程设计结束了,在这八天的时间里,我自己独立完成了一个程序从构思结构,到编写代码,然后上机调试运行的过程,感觉自己收获很大。通过解决一个又一个的问题,熟悉了c语言的应用,对计算机语言应用的理解又深了一层,在老师的指导下,学会了模块设计的方法,用流程图表示算法,掌握了用c语言进行程序设计的能力。在设计过程中,我理解了对于一个较大的程序,不可能一次编写出一个较大的系统,通常要采取自顶向下的设计思想,先设计主函数,再通过完善一个个的功能模块来完成程序的设计过程,在设计过程中要充分理解整个程序的设计思路,采用逐步细化的方式来完成整个程序。六、附录1、原代码#include<stdio.h>#include<stdlib.h>#include<string.h>structpersonnelArchiveInfo{charNO[10];charname[15];charsex[5];intage;charjob[20];charpost[20];charedu_level[10];charpolitic[20];//政治面貌charperiod[10];//任职时间charstart_time[10];//来院时间chartype[10];//人员类别};intread_file(structpersonnelArchiveInfoPAInfo[]);voidmenu();voidwrite_file(structpersonnelArchiveInfoPAInfo[]);voidadd();voidinput();voidzc_query();//按职称查询voidnum_del();//按编号删除voidtongji();//统计voidsort();//排序voidnum_modify();//按编号修改职工信息voidsave();//保存信息voiddisp();//显示职工信息voidfh();//返回主菜单structpersonnelArchiveInfoPAInfo[300];//这个数组用来保存所有的职工信息和文件里面的一致intNumber=0;//记录总的职工人数也就是数组/文件里面的职工人数voidmenu(){system("cls");system("colorB9");printf("\t**\n")printf("\t*人事信息管理系统*\n")printf("\t**\n")printf("\t*[1]输入人事信息[2]增加人事信息*\n")printf("\t*[3]查找人事信息[4]删除人事信息*\n")printf("\t*[5]统计人事信息[6]人事年龄排列*\n")printf("\t*[7]修改人事信息[8]保存人事信息*\n")printf("\t*[9]显示人事信息[0]退出管理系统*\n")printf("\t**\n")printf("\t****************************数信院******************************\n");}voidmain(){intflag=0;intchoose=0;FILE*fp二NULL;charyesorno;system("colorB9");if((fp二fopen("employee1.txt","rb+"))二二NULL){printf("\n=========>提示:文件不存在,是否要创建一个?(y)\n");scanf("%c",&yesorno);if(yesorno=='y'||yesorno=='Y'){//这里仅为了建立文件fp=fopen("employee1.txt","wb+");fclose(fp);//关闭fp所指的文件,释放文件缓冲区}elseexit(0);}else{Number=read_file(PAInfo);//要是文件已经有数据将数据初始化到数组中}system("cls");system("colorB9");while(1){menu();system("color20");printf("\t二二二二>请选择:");scanf("%d",&choose);system("cls");switch(choose){case0:exit(0);//退出break;case1:input();fh();//增加职工信息break;case2:add();fh();//查看职工信息break;case3:zc_query();fh();//查找break;case4:num_del();fh();//删除break;case5:tongji();fh();//统计break;case6:sort();fh();//排序break;case7:num_modify();fh();//修改后返回break;case8:save();fh();//保存break;case9:disp();fh();break;//显示default:break;}fflush(stdin);getchar();system("cls");}}voidsave(){printf("\t二二二>程序在运行时已自动保存\n");}voidfh(){printf("\t二二二>按Enter键返回主菜单\n");}voidnum_modify()//修改职工信息{FILE*fp二NULL;chargh[60];inti=0;intchangeIndex=0;//changeIndex改变标记intindex=0;printf("请输入要修改的人事编号:");scanf("%s",gh);for(i=0;i<Number;i++){if(strcmp(gh,PAInfo[i].NO)==0)//比较输入编号和数组中已有编号{changeIndex=i;//保存要修改的人的下标break;}}printf("\t编号\七姓名\七性别\t年龄\t部门\t职称\t学历\t政治面貌\七任职时间\t来院时间\七人员类别\n");printf("\n\n");printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[changeIndex].NO,PAInfo[changeIndex].name,PAInfo[changeIndex].sex,PAInfo[changeIndex].age,PAInfo[changeIndex].job,PAInfo[changeIndex].post,PAInfo[changeIndex].edu_level,PAInfo[changeIndex].politic,PAInfo[changeIndex].period,PAInfo[changeIndex].start_time,PAInfo[changeIndex].type);printf("请重新输入该人事信息");printf("编号:");scanf("%s",PAInfo[changeIndex].NO);printf("姓名:");scanf("%s",PAInfo[changeIndex].name);printf("性别:");scanf("%s",PAInfo[changeIndex].sex);printf("年龄:");scanf("%d",&PAInfo[changeIndex].age);printf("部门:");scanf("%d",PAInfo[changeIndex].job);printf("职称:");scanf("%s",PAInfo[changeIndex].post);printf("学历:");scanf("%s",PAInfo[changeIndex].edu_level);printf("政治面貌:");scanf("%s",&PAInfo[changeIndex].politic);printf("任职时间:");scanf("%s",&PAInfo[changeIndex].period);printf("来院时间:");scanf("%s",&PAInfo[changeIndex].start_time);printf("人员类别:");scanf("%s",&PAInfo[changeIndex].type);//信息修改后重新更新文件里面的数据以保持数据一致性fp二fopen("employee1.txt","wb+");for(i=0;i<Number;i++){fwrite(&PAInfo[i],sizeof(structpersonnelArchiveInfo),1,fp);//把ptr所指向n*size个字节输入到fp所指向的文件中}fclose(fp);printf("\t=======>修改成功\n");}voiddisp()//输出所有职工信息{inti=0;system("color2");printf("\t编号\t\t姓W\t性别\t年龄\t部门\t职称\t学历\t政治面貌\t任职时间\t来院时间\t人员类别\n”);printf("\n\n");for(i=0;i<Number;i++){printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t\t%s\t\t%s\t\t%s\n\n",PAInfo[i].NO,PAInfo[i].name,PAInfo[i].sex,PAInfo[i].age,PAInfo[i].job,PAInfo[i].post,PAInfo[i].edu_level,PAInfo[i].politic,PAInfo[i].period,PAInfo[i].start_time,PAInfo[i].type);}}voidsort()//排序{structpersonnelArchiveInfot;intwantNUmber=0;inti=0;intj=0;intk=0;for(i=0;i<Number-1;i++){k=i;for(j=i+1;j<Number;j++){if(PAInfo[j].age>PAInfo[k].age)k=j;}if(k!=i){t=PAInfo[i];PAInfo[i]=PAInfo[k];PAInfo[k]=t;}}printf("你想输出前几名人事信息:");scanf("%d",&wantNUmber);if(wantNUmber>Number){wantNUmber二Number;}printf("\t编号\七姓W\t性别\t年龄\t部门\t职称\t学历\t政治面貌\七任职时间\t来院时间\七人员类别\n”);for(i=0;i<wantNUmber;i++){printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[i].NO,PAInfo[i].name,PAInfo[i].sex,PAInfo[i].age,PAInfo[i].job,PAInfo[i].post,PAInfo[i].edu_level,PAInfo[i].politic,PAInfo[i].period,PAInfo[i].start_time,PAInfo[i].type);}}voidtongji()//统计{inti,m,k,max,min;doublesum=0.0;for(i=0;i<Number;i++){sum=sum+PAInfo[i].age;}printf("全体人事总年龄为:%f\n",sum);printf("平均年龄为:%f\n",sum/Number);i=0;m=0;max=0;max二PAInfo[m].age;for(i=1;i<Number;i++){if(PAInfo[i].age>max)m=i;max二PAInfo[m].age;}printf("最高年龄为:%d\n",max);printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[m].NO,PAInfo[m].name,PAInfo[m].sex,PAInfo[m].age,PAInfo[m].job,PAInfo[m].post,PAInfo[m].edu_level,PAInfo[m].politic,PAInfo[m].period,PAInfo[m].start_time,PAInfo[m].type);i=0;k=0;min=0;min二PAInfo[0].age;for(i=1;i<Number;i++){if(PAInfo[i].age<min)k=i;min二PAInfo[k].age;}printf("最低年龄:%d\n",min);printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[k].NO,PAInfo[k].name,PAInfo[k].sex,PAInfo[k].age,PAInfo[k].job,PAInfo[k].post,PAInfo[k].edu_level,PAInfo[m].politic,PAInfo[m].period,PAInfo[m].start_time,PAInfo[m].type);}voidnum_del()//按编号删除{FILE*fp二NULL;chargh[60];inti=0;intj=0;printf("请输入要删除的人事编号:");scanf("%s",gh);for(i=0;i<Number;i++){if(strcmp(gh,PAInfo[i].NO)==0)//如果查找到就删除{for(j=i;j<Number-1;j++){PAInfo[j]=PAInfo[j+1];}Number--;}}//将剩余数据写入文件重新一写的方式打开文件把以前的数据擦除了fp=fopen("employee1.dat","wb");for(i=0;i<Number;i++){fwrite(&PAInfo[i],sizeof(structpersonnelArchiveInfo),1,fp);}fclose(fp);printf("删除成功;\n");}voidzc_query()//按职称查找{charpost[20];inti=0;printf("请输入要查找人事职称:”);scanf("%s",post);system("cls");printf("\t编号\七姓W\t性别\t年龄\t部门\t职称\t学历\t政治面貌\七任职时间\t来院时间\七人员类别\n”);for(i=0;i<Number;i++){if(strcmp(post,PAInfo[i].post)==0){printf("\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",PAInfo[i].NO,PAInfo[i].name,PAInfo[i].sex,PAInfo[i].age,PAInfo[i].job,PAInfo[i].post,PAInfo[i].edu_level,PAInfo[i].politic,PAInfo[i].period,PAInfo[i].start_time,PAInfo[i].type);}}}voidadd()//增加职工{intnumberTemp=0;inti=0;structpersonnelArchiveInfotemp;//临时保存信息printf("请输入要增加人事信息的个数:");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i++)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑混凝土石料运输合同
- 标准存款合同范本
- 商铺租赁合同解除协议格式范本
- 2024农村建房合同范本
- 赠与合同范本大全
- 笔记本电脑选购协议
- 农村土地使用权买卖合同样本
- 房屋出租代理委托合同范本样本
- 股票交易委托代理协议
- 代理电力收费协议
- 《相学集存》优秀课件
- (完整版)新概念青少版1a1-10测试卷
- 国家开放大学《教育组织行为与管理案例》大作业参考答案
- 2023年江苏苏州工业园区管委会招聘笔试参考题库附带答案详解
- 优化少先队仪式教育的尝试 论文
- 【知识解析】化学促进科学技术的发展
- 大学生职业规划-教师职业规划书范文
- 三国演义第三回读后感100字 三国演义第三回读后感1000字以上(三篇)
- 双阳区巡游出租汽车驾驶员从业资格考试区域科目考试题库
- 口腔修复学名解及案例分析题
- 制糖工艺基础知识及煮糖技术(上课)
评论
0/150
提交评论