版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-5"\h\z\o"CurrentDocument"一、概要设计内容2\o"CurrentDocument"二、总体设计分析2\o"CurrentDocument"三、各模块实现方法3\o"CurrentDocument"四、模块的程序设计分析3\o"CurrentDocument"五、模块的程序的源代码4\o"CurrentDocument"六、程序运行结果及系统使用说明13七、结束语及心得体会15教育资料1、概要设计内容题目:招聘信息管理系统设计“招聘信息管理系统';使其可以查找对应的工作与对应的资料的功能。1)数据包括:学历说明,职位说明,求职个人信息,用人单位信息。2)可以对求职人员的信息进行记录。3)可以对用人单位的信息进行记录。4)可以增加或删除记录。5)可以显示所有保存的记录。6)可以按个人需要进行查询。2、总体设计分析数据结构图如下:招聘信息管理系统3、各模块实现方法(i)能够查询招聘信息系统的程序,以帮助完成招聘查找情况。♦求职人员信息当查询用人单位招聘用人信息时,将自动告诉单位用人情况。♦用人单位信息当用人单位预备招聘人手是,将自动弹出招聘者信息。(2)统计信息统计出全部的工作信息和提供工作的信息。给予全部的人来参考提供。4、模块的程序设计分析.主菜单及头文件设计:我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include"stdio.h"等,因为需要录入便条的所有信息,所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name[4]记录。头文件还包括了定义常数记录数typedefstruct,主函数原型intmenu_select();/*声明函数*/intenter(RECODEt[]);/*声明函数*/voidsalor(RECODEt[],intn);/*声明函数*/intsum(RECODEt[],intn,intm);/*声明函数*/voidlist1(RECODEt[],intn);/*声明函数*/voidlist2(RECODEt[],intn);/*声明函数*/voidlist3(RECODEt[],intn);/*声明函数*/voidsave(RECODEt[],intn);/*声明函数*/intload(RECODEt[]);/*声明函数*/这些的都是主函数需要用到的数据,因此放入头文件当中,在主程序开始之前直接引用#include"pro.h"。.输入信息:根据要求,招聘信息以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。如下为程序设计流程图5、模块的程序源代码头文件:#include<stdio.h>#include<stdlib.h>/*对于学历和工作要求都是用数字来替代*/typedefstructworker(intnum;//编号charid[20];//身份证号,过长,所以所以用字符串charname[15];//姓名intdegree;//学历intjob;//需要的工作worker*next;worker*pre;}worker,*Lworker;/*需求记录*/typedefstructwant(intn;//单位的编号intjob;//需求的岗位intnum;//需求的人数want*next;want*pre;}want,*Lwant;/*输出说明信息的函数*/voidinfo()(printf("输入说明如下:\n");printf("学历说明:\n1:高中毕业2:大学毕业3:研究生4:更高学历\n");printf("职位说明如下:\n1:程序员2:管理人员3:会计4:兽医\n");printf("当输入求职者信息的时候,求职者编号为-1时,输入结束\n");printf(-当输入供职单位信息的时候,当供职的数量为-1的时候,输入结束\n");}/*输入人才信息*/voidinput_worker(Lworkerhead)(inti=1;Lworkerx=head;x->pre=NULL;while(1)(printf("输入第%d个求职者的信息,顺序为编号,姓名,身份证号,需要的工作,学历\n",i);scanf("%d”,&x->num);if(x->num==-1)break;getchar();//回车会被读入到gets()函数中,所以必须有一个getchar()把回车收回gets(x->name);gets(x->id);scanf("%d”,&x->job);scanf("%d”,&x->degree);Lworkery=(worker*)malloc(sizeof(worker));x->next=y;y->pre=x;x=y;i++;}x->pre->next=NULL;free(x);}/*输入求职信息*/voidinput_want(Lwanthead){Lwantx=head;inti=1;x->pre=NULL;while(1){printf(-第%d个供职单位的信息,顺序为编号,工作,数量\n",i);scanf("%d",&x->n);scanf("%d”,&x->job);scanf("%d”,&x->num);if(x->num==-1)break;i++;Lwanty=(want*)malloc(sizeof(want));x->next=y;y->pre=x;x=y;}x->pre->next=NULL;free(x);}/*查询人才信息函数*///参数num就是员工的编号,查询是是什么工作intfind_worker(Lworkerhead,intnum){Lworkerx=head;for(;;x=x->next){if(x->num==num){return(x->job);}}return(-1);//表示没有这个人}/*查询工作信息函数*///num就是编号intfind_want(Lwanthead,intnum)(Lwantx=head;for(;;x=x->next)(if(x->n==num)return(x->job);}return(-1);//表示没有这个单位的信息}/*修改求职者的信息*///参数num就是员工的编号voidchange_worker(Lworkerhead,intnum)(intm=0;Lworkerx=head;for(;;x=x->next)(if(x->num==num)(break;}}printf("输入要修改的内容:\n1:工作2:学历3:身份证号4:姓名\n");scanf("&d",&m);switch(m)(case1:printf("输入更正后的工作\n");scanf("%d”,&x->job);break;case2:printf("输入更正后的学历\n");scanf("%d”,&x->degree);break;case3:printf("输入更正后的身份证号\n");gets(x->id);break;case4:printf("输入更正后的姓名\n");gets(x->name);break;}}/*更改用人单位信息*///num就是编号voidchange_want(Lwanthead,intnum){intn;Lwantx=head;for(;;x=x->next){if(x->n==num)break;}printf("输入要修改的内容\n1:工作2:人数");scanf("%d”,&n);switch(n)case1:printf("输入新的工作\n");scanf("%d”,&x->job);break;case2:printf(-输入新的人数\n");scanf("%d",&x->num);break;}}/*删除求职者信息*/Lworkerdel_worker(Lworkerhead,intnum)(Lworkerx=head;if(head->num==num)(x=head->next;x->pre=NULL;free(head);return(x);else(for(;;x=x->next)(if(x->num==num)(break;}}Lworkery=x->pre;Lworkerz=x->next;if(z==NULL)(y->next=NULL;free(x);}else(y->next=z;z->pre=y;free(x);return(head);}}/*删除用人单位信息*/Lwantdel_want(Lwanthead,intnum)(Lwantx=head;if(head->n==num)(x=x->next;x->pre=NULL;free(head);return(x);}else(for(;;x=x->next)(if(x->n==num)(break;}Lwanty=x->pre;Lwantz=x->next;if(z==NULL)(y->next=NULL;free(x);return(head);}else(y->next=z;z->pre=y;free(x);return(head);}}}/*统计需求量最大的工作*/voidtongji_need(Lworkerhead,int*n)(inti,m=0;for(i=1;i<5;i++)n[i]=0;Lworkerx=head;for(;x!=NULL;x=x->next){switch(x->job){case1:n[1]++;break;case2:n[2]++;break;case3:n[3]++;break;case4:n[4]++;break;}}/*统计供给量最大的工作*/voidtongji_serve(Lwanthead,int*m)(inti;for(i=1;i<5;i++)m[i]=0;Lwantx=head;for(;x!=NULL;x=x->next)(switch(x->job)(case1:m[1]=m[1]+x->num;break;case2:m[2]=m[2]+x->num;break;case3:m[3]=m[3]+x->num;break;case4:m[4]=m[4]+x->num;break;}}}voidmain()(inti;intx,num;info();intn[5],m[5];Lworkerhead1=(worker*)malloc(sizeof(worker));Lwanthead2=(want*)malloc(sizeof(want));while(1)(printf("输入要进行的操作\n");printf("1:输入求值人员信息2:输入用人单位信息3:删除求值人员信息4:删除用人单位信息5:修改求职人员信息6:修改用人单位信息\n");printf("7:查询某个求职人员信息8:查询某个用人单位信息9:统计需求的工作信息10:统计提供工作的信息0:退出\n");printf("注意:1和2如果重复执行的话,会覆盖以前的而结果,所以不可以重复选择,只可以做一次\n");scanf("%d”,&x);if(x==0)break;switch(x)(case1:input_worker(head1);break;case2:input_want(head2);break;case3:printf("输入要删除的人员的编号\n");scanf("%d”,&num);head1=del_worker(head1,num);break;case4:printf(-输入要删除的单位的编号\n");scanf("%d",&num);head2=del_want(head2,num);break;case5:printf("输入要修改的人员的编号\n");scanf("%d”,&num);change_worker(head1,num);break;case6:printf("输入要修改的单位的编号\n");scanf("%d",&num);change_want(head2,num);break;case7:printf("输入要查询的人员的编号\n");scanf("%d",&num);find_worker(head1,num);break;case8:printf("输入要查询的单位的编号\n");scanf("%d",&num);find_want(head2,num);break;case9:tongji_need(head1,n);for(i=1;i<5;i++)printf("第%d种工作的需求量是%d\n”,i,n[i]);}break;case10:tongji_serve(head2,m);for(i=1;i<5;i++){printf("第%d种工作的提供量是%d\n",i,m[i]);}break;}}}6、程序运行结果及系统使用说明1、进入主菜单:蜡有E等血2,大学毕业3:研究生蜡有E等血2,大学毕业3:研究生攵更高学历瑚?few戒用人单位信息3;删除求值人员信息4;删除用人单位信息:用人章位信息、.一__,,杳C:\DdcumentsandSet1ing^\LenovoWebug\?业2:大学毕b舞研究生4:更高学历数量R单位信息的时候亍碾乍值稠庭2i5铮1个供职单位的信息,顺序为编号计入用人单位信息3:删除求值人员信息4:删除用人单位信息澈里人单位信草9E查询某个用入单位信息私统计需求的工作信息⑶统计提勺信息0:退出和2如果重复执行的话,会覆盖以前的而结果,所以不可以重复选择,只可以做一次g"D:\0ebug\Cpp2.exedL僖输入供职暂信息舸候,s邂成惭T息2顼最改未拒人员信息t:fj-理融净T笔伊息8:查询某个用人单位信息私统计需求的工作信息10:统计提*和枝果量食执行的话,会覆盖以前的而结果,所以不可以重复选择,.只可以做一次2、选择1';输入供值单位:输入7,可以查询人员编号:土和2加果重簇执行的话.会覆盖以前的而结来所以不可以重复选择,只可以做一次为T时,的町■候,当供职故我.莹为T敝翻器L幡稀人员信息*删除用人单位信息雀询某个用X单位信息*:统『需草
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政府采购超市供货合同范例
- 机器加盟协议合同范例
- 个人劳务合同范例电子版
- 瓷砖美缝装修合同范例
- 塑木施工合同范例
- 注塑外协加工合同范例
- 单梁吊合同范例
- 供热工程实施合同范例
- 俄罗斯外贸合同范例
- 亲属房屋赠送合同范例
- 会展英语教学大纲
- 机电系统综合调试方案
- 小学语文“任务驱动”课堂模式探究
- 分包商质量和安全和进度管理
- JB T 7588-2010YL系列双值电容单相异步电动机技术条件(机座号80~132)
- 我不是药神电影赏析
- 2024年四川遂宁开祺资产管理有限公司招聘笔试参考题库含答案解析
- 有机肥料及微生物肥料行业的环境影响与生态保护
- 提高检验标本合格率的品管圈课件
- 幼儿园教育的德育培养
- 抵制不健康读物“读书与人生”
评论
0/150
提交评论