C语言程序设计招聘信息管理系统.docx

上传人:b****2 文档编号:384790 上传时间:2022-10-09 格式:DOCX 页数:20 大小:431.57KB
下载 相关 举报
C语言程序设计招聘信息管理系统.docx_第1页
第1页 / 共20页
C语言程序设计招聘信息管理系统.docx_第2页
第2页 / 共20页
C语言程序设计招聘信息管理系统.docx_第3页
第3页 / 共20页
C语言程序设计招聘信息管理系统.docx_第4页
第4页 / 共20页
C语言程序设计招聘信息管理系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言程序设计招聘信息管理系统.docx

《C语言程序设计招聘信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言程序设计招聘信息管理系统.docx(20页珍藏版)》请在冰豆网上搜索。

C语言程序设计招聘信息管理系统.docx

C语言程序设计招聘信息管理系统

  

一、概要设计内容--------------------------------------------2

二、总体设计分析--------------------------------------------2

三、各模块实现方法-----------------------------------------3

四、模块的程序设计分析-----------------------------------3

五、模块的程序的源代码-----------------------------------4

六、程序运行结果及系统使用说明-----------------------13

七、结束语及心得体会--------------------------------------15

 

1、概要设计内容

题目:

招聘信息管理系统

设计“招聘信息管理系统”,使其可以查找对应的工作与对应的资料的功能。

1)数据包括:

学历说明,职位说明,求职个人信息,用人单位信息。

2)可以对求职人员的信息进行记录。

3)可以对用人单位的信息进行记录。

4)可以增加或删除记录。

5)可以显示所有保存的记录。

6)可以按个人需要进行查询。

2、总体设计分析

数据结构图如下:

 

3、各模块实现方法

(1)能够查询招聘信息系统的程序,以帮助完成招聘查找情况。

◆求职人员信息

当查询用人单位招聘用人信息时,将自动告诉单位用人情况。

◆用人单位信息

当用人单位预备招聘人手是,将自动弹出招聘者信息。

(2)统计信息

统计出全部的工作信息和提供工作的信息。

给予全部的人来参考提供。

4、模块的程序设计分析

(1).主菜单及头文件设计:

我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#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"。

(2).输入信息:

根据要求,招聘信息以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。

如下为程序设计流程图:

5、模块的程序源代码

头文件:

#include

#include

/*对于学历和工作要求都是用数字来替代*/

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);

}

}

}

/*统计需求量最大的工作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1