

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录 一、 概要设计内容-2二、 总体设计分析-2三、 各模块实现方法-3四、 模块的程序设计分析-3五、 模块的程序的源代码-4六、 程序运行结果及系统使用说明-13七、 结束语及心得体会-151、概要设计内容题目:招聘信息管理系统设计“招聘信息管理系统”,使其可以查找对应的工作与对应的资料的功能。 1)数据包括:学历说明,职位说明,求职个人信息,用人单位信息。2)可以对求职人员的信息进行记录。3)可以对用人单位的信息进行记录。4)可以增加或删除记录。 5)可以显示所有保存的记录。 6)可以按个人需要进行查询。2、总体设计分析数据结构图如下:招聘信息管理系统菜单函数清
2、单输入保存文件读取文件显示清单学历说明职位说明求职个人信息用人单位信息3、各模块实现方法(1)能够查询招聘信息系统的程序,以帮助完成招聘查找情况。 求职人员信息当查询用人单位招聘用人信息时,将自动告诉单位用人情况。 用人单位信息当用人单位预备招聘人手是,将自动弹出招聘者信息。(2) 统计信息 统计出全部的工作信息和提供工作的信息。给予全部的人来参考提供。 4、模块的程序设计分析(1).主菜单及头文件设计:我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include "stdio.h"等,因为需要录入便条的所有信息,所有用一个
3、数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name4记录。头文件还包括了定义常数记录数typedef struct,主函数原型int menu_select();/*声明函数*/ int enter(RECODE t);/*声明函数*/ void salor(RECODE t,int n);/*声明函数*/ int sum(RECODE t,int n,int m);/*声明函数*/ void list1(RECODE t,int n);/*声明函数*/ void list2(RECODE t,int n);/*声明函数*/ void list3(RE
4、CODE t,int n);/*声明函数*/ void save(RECODE t,int n);/*声明函数*/ int load(RECODE t);/*声明函数*/这些的都是主函数需要用到的数据,因此放入头文件当中,在主程序开始之前直接引用#include "pro.h"。(2).输入信息:根据要求,招聘信息以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。如下为程序设计流程图:输入记录读取文件保存到文件 求职人员信息 用人单位信息统计需求工作信息统计提供工作信息单退出管理5、
5、模块的程序源代码头文件:#include<stdio.h> #include<stdlib.h> /*对于学历和工作要求都是用数字来替代*/ typedef struct worker int num; /编号 char id20; /身份证号,过长,所以所以用字符串 char name15; /姓名 int degree; /学历 int job; /需要的工作 worker *next; worker *pre; worker,*Lworker; /*需求记录*/ typedef struct want int n; /单位的编号 int job; /需求的岗位 i
6、nt num; /需求的人数 want *next; want *pre; want,*Lwant; /*输出说明信息的函数*/ void info() printf("输入说明如下:n"); printf("学历说明:n1:高中毕业 2:大学毕业 3:研究生 4:更高学历n"); printf("职位说明如下:n1:程序员 2:管理人员 3:会计 4:兽医n"); printf("当输入求职者信息的时候,求职者编号为-1时,输入结束n"); printf("当输入供职单位信息的时候,当供职的数量为-1的
7、时候,输入结束n"); /*输入人才信息*/ void input_worker(Lworker head) int i=1; Lworker x=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);
8、gets(x->id); scanf("%d",&x->job); scanf("%d",&x->degree); Lworker y=(worker *)malloc(sizeof(worker); x->next=y; y->pre=x; x=y; i+; x->pre->next=NULL; free(x); /*输入求职信息*/ void input_want(Lwant head) Lwant x=head; int i=1; x->pre=NULL; while(1) print
9、f("第%d个供职单位的信息,顺序为编号,工作,数量n",i); scanf("%d",&x->n); scanf("%d",&x->job); scanf("%d",&x->num); if(x->num=-1) break; i+; Lwant y=(want*)malloc(sizeof(want); x->next=y; y->pre=x; x=y; x->pre->next=NULL; free(x); /*查询人才信息函数*/ /参
10、数num就是员工的编号,查询是是什么工作 int find_worker(Lworker head,int num) Lworker x=head; for(;x=x->next) if(x->num=num) return(x->job); return(-1); /表示没有这个人 /*查询工作信息函数*/ /num就是编号 int find_want(Lwant head,int num) Lwant x=head; for(;x=x->next) if(x->n=num) return(x->job); return(-1); /表示没有这个单位的信息
11、 /*修改求职者的信息*/ /参数num就是员工的编号 void change_worker(Lworker head,int num) int m=0; Lworker x=head; for(;x=x->next) if(x->num=num) break; printf("输入要修改的内容:n1:工作 2:学历 3:身份证号 4:姓名n"); scanf("&d",&m); switch(m) case 1: printf("输入更正后的工作n"); scanf("%d",&
12、;x->job); break; case 2: printf("输入更正后的学历n"); scanf("%d",&x->degree); break; case 3: printf("输入更正后的身份证号n"); gets(x->id); break; case 4: printf("输入更正后的姓名n"); gets(x->name); break; /*更改用人单位信息*/ /num就是编号 void change_want(Lwant head,int num) int n;
13、 Lwant x=head; for(;x=x->next) if(x->n=num) break; printf("输入要修改的内容n1:工作 2:人数"); scanf("%d",&n); switch(n) case 1: printf("输入新的工作n"); scanf("%d",&x->job); break; case 2: printf("输入新的人数n"); scanf("%d",&x->num); break;
14、 /*删除求职者信息*/ Lworker del_worker(Lworker head,int num) Lworker x=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; Lworker y=x->pre; Lworker z=x->next; if(z=NULL) y->next=NULL; free(x); else y->next=z; z->
15、;pre=y; free(x); return(head); /*删除用人单位信息*/ Lwant del_want(Lwant head,int num) Lwant x=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; Lwant y=x->pre; Lwant z=x->next; if(z=NULL) y->next=NULL; free(x); return(head)
16、; else y->next=z; z->pre=y; free(x); return(head); /*统计需求量最大的工作*/ void tongji_need(Lworker head,int *n) int i,m=0; for(i=1;i<5;i+) ni=0; Lworker x=head; for(;x!=NULL;x=x->next) switch(x->job) case 1: n1+; break; case 2: n2+; break; case 3: n3+; break; case 4: n4+; break; /*统计供给量最大的工作*
17、/ void tongji_serve(Lwant head,int *m) int i; for(i=1;i<5;i+) mi=0; Lwant x=head; for(;x!=NULL;x=x->next) switch(x->job) case 1: m1=m1+x->num; break; case 2: m2=m2+x->num; break; case 3: m3=m3+x->num; break; case 4: m4=m4+x->num; break; void main() int i; int x,num; info(); int
18、n5,m5; Lworker head1=(worker *)malloc(sizeof(worker); Lwant head2=(want *)malloc(sizeof(want); while(1) printf("输入要进行的操作n"); printf("1:输入求值人员信息 2:输入用人单位信息 3:删除求值人员信息 4:删除用人单位信息 5:修改求职人员信息 6:修改用人单位信息n"); printf("7:查询某个求职人员信息 8:查询某个用人单位信息 9:统计需求的工作信息 10:统计提供工作的信息 0:退出n");
19、 printf("注意:1和2如果重复执行的话,会覆盖以前的而结果,所以不可以重复选择,只可以做一次n"); scanf("%d",&x); if(x=0) break; switch(x) case 1: input_worker(head1); break; case 2: input_want(head2); break; case 3: printf("输入要删除的人员的编号n"); scanf("%d",&num); head1=del_worker(head1,num); break;
20、case 4: printf("输入要删除的单位的编号n"); scanf("%d",&num); head2=del_want(head2,num); break; case 5: printf("输入要修改的人员的编号n"); scanf("%d",&num); change_worker(head1,num); break; case 6: printf("输入要修改的单位的编号n"); scanf("%d",&num); change_want(head2,num); break; case 7: printf("输入要查询的人员的编号n"); scanf("%d",&num); find_worker(head1,num); break; case 8:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南开18语文高三第一次月考作文
- 电子测量技术在海洋开发中的应用考核试卷
- 生态保护与草原生态治理考核试卷
- 电气设备绝缘测试考核试卷
- 天津市西青区张窝中学2024−2025学年高一下学期第一次月考 数学试题(含解析)
- 规范的采血流程 2
- 山东省济南市重点中学2025届高中毕业班第二次质量检测试题英语试题文试题含解析
- 山东省泰安市宁阳县重点名校2024-2025学年初三下学期第三次四校联考物理试题试卷含解析
- 莱芜职业技术学院《水工建筑材料》2023-2024学年第二学期期末试卷
- 吉林省长春市榆树市一中2025届高三下学期第四次(1月)月考英语试题试卷含解析
- 2025年上海市松江区中考数学二模试卷(含解析)
- 中国科学技术交流中心招聘笔试真题2024
- 2025年北京京能清洁能源电力股份有限公司招聘笔试参考题库含答案解析
- 2025年上海市闵行区高三语文二模试卷及答案解析
- 创新奖申请材料撰写指南与范文
- 中华人民共和国学前教育法解读
- 美容师考试相关法律法规的知识要点试题及答案
- 2025年形势与政策-加快建设社会主义文化强国+第二讲中国经济行稳致远
- 激光雷达笔试试题及答案
- 《运动处方》课件-高血压人群运动处方案例
- 2024年出版专业资格考试《基础知识》(中级)真题及答案
评论
0/150
提交评论