人事管理C语言课程设计Word文件下载.docx

上传人:b****5 文档编号:8431984 上传时间:2023-05-11 格式:DOCX 页数:33 大小:520.65KB
下载 相关 举报
人事管理C语言课程设计Word文件下载.docx_第1页
第1页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第2页
第2页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第3页
第3页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第4页
第4页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第5页
第5页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第6页
第6页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第7页
第7页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第8页
第8页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第9页
第9页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第10页
第10页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第11页
第11页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第12页
第12页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第13页
第13页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第14页
第14页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第15页
第15页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第16页
第16页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第17页
第17页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第18页
第18页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第19页
第19页 / 共33页
人事管理C语言课程设计Word文件下载.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

人事管理C语言课程设计Word文件下载.docx

《人事管理C语言课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《人事管理C语言课程设计Word文件下载.docx(33页珍藏版)》请在冰点文库上搜索。

人事管理C语言课程设计Word文件下载.docx

根据查询对相应的记录进行修改,并存储;

(4)统计功能:

能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;

(5)排序功能:

按照年龄、来院时间进行排序;

(6)保存功能:

能对输入的数据进行相应的存储;

一.需求分析:

根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。

另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将RS定为100,也即最多可储存的职工人数为100;

二总体设计:

根据以上需求分析,将程序分成以下几个模块:

1浏览:

****浏览文件(0)

2删除

****删除记录

(1)

3查询

****按名称查询

(2)

****按编号查询(3)

4编辑

****查询名称编辑信息(4)

****查询编号编辑信息(5)

5统计

****统计在职人数(6)

****统计党员人数(7)

****统计女工人数(8)

****统计硕士以上学历人数(9)

****统计副教授以上职称人数(10)

6排序

****按年龄进行排序(11)

****按来院时间进行排序(12)

7保存

****将输入的记录进行保存(13)

三详细设计;

1、主函数:

主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

其流程图如下

程序

voidmain()

{do

{intn;

puts("

****************************************************\n"

);

****************人事管理系统************************\n"

**请选择以下选项后面的数字输入以确定您要进行的操作**\n"

选项:

"

浏览:

****浏览文件(0)"

删除"

****删除记录

(1)"

查询"

****按名称查询

(2)"

****按编号查询(3)"

编辑"

****查询名称编辑信息(4)"

****查询编号编辑信息(5)"

统计"

****统计在职人数(6)"

****统计党员人数(7)"

****统计女工人数(8)"

****统计硕士以上学历人数(9)"

****统计副教授以上职称人数(10)"

排序"

****按年龄进行排序(11)"

****按来院时间进行排序(12)"

保存"

****将输入的记录进行保存(13)"

退出"

****退出(14)"

printf("

请输入选项号:

"

scanf("

%d"

&

n);

switch(n)

{case0:

browse();

break;

case1:

dele();

case2:

searname();

case3:

searnum();

case4:

channame();

case5:

channum();

case6:

sumzzrs();

case7:

sumdyrs();

case8:

sumngrs();

case9:

sumssysxlrs();

case10:

sumfjsyszhichers();

case11:

sortage();

case12:

sortlysj();

case13:

save();

case14:

return;

default:

输入错误"

}

}while

(1);

}

2、各功能设计模块

(1)浏览模块

该模块的功能是显示文件的所有信息,流程图如下

voidbrowse()

{inti=0,j;

if((fp=fopen("

renshi.txt"

"

r"

))==NULL)

{printf("

cannotopenthisfile\n"

return;

while(!

feof(fp))

{fscanf(fp,"

%s%s%s%d%s%d%s%d%s%d%s"

per[i].num,per[i].name,per[i].sex,&

per[i].age,per[i].zhiwu,&

per[i].zhiche,per[i].zzmm,&

per[i].zgxl,per[i].rzsj,&

per[i].lysj,per[i].rylb);

i++;

\n\n当前文件内容是:

\n\n"

for(j=0;

j<

i;

j++)

%s%s%s%d%s%d%s%d%s%d%s\n"

per[j].num,per[j].name,per[j].sex,per[j].age,per[j].zhiwu,per[j].zhiche,per[j].zzmm,per[j].zgxl,per[j].rzsj,per[j].lysj,per[j].rylb);

fclose(fp);

\n"

\n\n\npressanykeytocontinue\n\n\n"

getchar();

(2)删除模块

该模块的功能是根据编号删除记录的信息,删除空行,后面的前移,浏览。

流程图如下

voiddele()

{inti=0,j,k=0;

charnum[10];

请输入您要删除的记录的编号:

%s"

num);

w"

{if(strcmp(per[j].num,num)!

=0)

fprintf(fp,"

trim();

browse();

(3)按名称查询模块

该模块的功能是根据名字查询记录。

流程如下

voidsearname()

charname[8];

请输入您要查询的记录的姓名:

name);

a+"

))==0)

您要的信息如下:

{if(strcmp(per[j].name,name)==0)

k++;

if(k==0)

没有您要的信息"

(4)按编号查询模块

该模块功能是根据记录编号查询记录。

流程路如下

(5)

voidsearnum()

请输入您要查询的记录的编号:

r+"

{if(strcmp(per[j].num,num)==0)

(6)查询名称编辑模块

该模块先根据名字查找记录,然后修改记录。

voidchanname()

{inti=0,j,k;

请输入您要编辑的记录的姓名:

请输入您要修改的项所对应的数字:

(编号对应的数字为1,其他项依次为2,3,4...))"

k);

请输入这一项修改后的值"

{switch(k)

{case1:

scanf("

per[j].num);

per[j].name);

per[j].sex);

per[j].age);

per[j].zhiwu);

per[j].zhiche);

per[j].zzmm);

per[j].zgxl);

per[j].rzsj);

per[j].lysj);

per[j].rylb);

printf("

{fprintf(fp,"

}

(7)查询编号编辑信息模块

该模块是先根据记录的编号查询记录,而后编辑记录。

voidchannum()

请输入您要编辑的记录的编号:

(8)根据在职人数进行统计模块

voidsumzzrs()

if(i==0)

这是一个空文件"

在职人员数量是%d人\n"

i);

(7)根据党员人数进行统计模块

voidsumdyrs()

{inti=0,j,count=0;

{if(strcmp(per[j].zzmm,"

党员"

)==0)

per[j].num,per[j].name,per[j].sex,per[j].age,per[j].zhiwu,per[j].zhiche,per[j].zzmm,per[j].zgxl,per[j].rzsj,per[j].lysj,per[j

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

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2