C语言人事管理系统设计Word下载.docx
- 文档编号:16863771
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:23
- 大小:181.39KB
C语言人事管理系统设计Word下载.docx
《C语言人事管理系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《C语言人事管理系统设计Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
//姓名
Intsex;
//性别
Intage;
//年龄
Charjob[10];
//职务
Charpost[10];
//职称
Charpolitic[10];
//政治面貌
Charedu_level[10];
//最高学历
Charperiod[10];
//任职时间
Charstart_time[10];
//来院时间
Chartype[10];
//人员类别
}PAInfo;
(1)数据输入模块把员工信息写入人事档案文件。
(2)数据添加模块用追加的方式把新增员工信息写入人事档案文件。
(3)数据删除模块根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃,不再写入文件;
否则重新写入文件。
(4)数据查询模块把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(5)数据修改模块查找要修改的记录,修改之。
先读记录,若是要修改的记录,则修改信息,把修改后的信息写入文件;
否则直接写入文件。
(6)数据排序模块通过菜单选择年龄或者来院时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。
(7)数据统计模块通过菜单选择统计字段:
在职人数、党员人数、女工人数、高学历人数、高职称人数。
例如选择党员人数,则统计运算伪码如下:
Count=0;
//记录在职人数
While(文件未读完)
{
读一条记录;
If(政治面貌是党员)
{Count++;
输出该条记录;
}}
其他字段的统计运算与次类似.
二.正文
1.系统模块图
人事管理系统
2.模块说明
(1).主函数:
显示封面和菜单;
(2).输入模块:
建立文件,输入数据;
(3).增加模块:
追加新数据到文件;
(4).删除模块:
先读取数据,再将要删除的数据去掉后重新写入文件;
(5).排序模块:
读取文件,选择排序;
(6).统计模块:
选择要统计的人的数量;
(7).退出模块:
主函数中。
3.用户使用说明
源程序需用visualC++运行。
其它按系统说明操作。
4.测试结果
封面
略
主菜单
输入模块
增加模块
删除模块
查询模块
选择排序
统计模块
三.设计小结
C语言课程设计经过2周的实习终于落幕了。
不断的复习理论知识、编程、调试、改错,直至存盘,同样的环节、同样的工作步骤,重复又重复,枯燥而乏味;
看似简单的程序题,编写后调试却屡屡出错。
如何改如何错,怎么编写怎么调试失败,心烦而意乱。
但在不断的调试成功中,不断的激励着我,每次看到运行结果是自己所想的时候感觉很有成就感。
最后的成功让我感到付出的一切都很值得。
当然,这次的程序存在着一些瑕疵和不足,相信下次我能编出更好的程序。
参考文献
[1]。
谭浩强。
C程序设计(第二版)。
北京。
清华大学出版社,1999
[2]。
张基温。
C语言程序设计(第三版)。
高等教育出版社,2006.8
[3]。
C程序设计(第三版)。
清华大学出版社,2006
五.附录
#include<
stdio.h>
stdlib.h>
string.h>
iomanip>
//#include<
iostream>
#defineN50
structpersonnelArchiveInfo
charNo[10];
charname[10];
intsex;
intage;
charjob[10];
charpost[10];
charpolitic[10];
charedu_level[10];
charperiod[10];
charstart_time[10];
chartype[10];
voidsta()//封面
{inti,j;
printf("
\n\n"
);
for(j=0;
j<
3;
j++)
{printf("
\t"
for(i=0;
i<
68;
i++)
*"
\n"
}
printf("
\t**************三峡大学理学院2010级光信息科学与技术专业**************\n"
\t**************\t《高级语言程序设计》课程设计\t\t************\n"
\t**************\t\t说明书\t\t\t\t************\n"
\t**************\t设计题目:
人事管理系统设计\t\t************\n"
\t**************\t班级:
光信\t\t\t\t************\n"
\t**************\t学号:
2010146108\t\t\t\t************\n"
\t**************\t姓名:
张俊\t\t\t\t************\n"
\t**************\t完成时间:
2011.11.15\t\t\t************\n"
for(j=0;
4;
system("
pause"
voidinput()//输入模块
{system("
cls"
inti,x;
FILE*fp;
structpersonnelArchiveInfo*p[N];
fp=fopen("
d:
//stu.txt"
"
w"
if((fp=fopen("
/stu.txt"
))==0)
打开文件失败"
exit
(1);
}
请输入要输入的人员个数:
"
scanf("
%d"
&
x);
x;
{p[i]=(structpersonnelArchiveInfo*)malloc(sizeof(structpersonnelArchiveInfo));
编号:
scanf("
%s"
p[i]->
No);
姓名:
name);
性别'
1'
男,'
2'
女:
p[i]->
sex);
年龄:
age);
职务(没有则填无):
job);
职称(总裁,总经理,部门经理,技术总监,组长,普通员工):
post);
政治面貌(党员,团员,群众):
politic);
最高学历(博士,硕士,大学,高中,初中,小学):
edu_level);
任职时间:
period);
来院时间:
start_time);
人员类别:
type);
fwrite(p[i],sizeof(structpersonnelArchiveInfo),1,fp);
fclose(fp);
system("
voidzj()//增加模块
a"
请输入要增加的人员个数:
职务:
职称:
政治面貌:
最高学历:
voidsc()//删除模块
inti,j,x,s=0;
chara[10];
FILE*fp;
fp=fopen("
r"
fread(&
PAInfo,sizeof(PAInfo),1,fp);
{p[i]=(structpersonnelArchiveInfo*)malloc(sizeof(structpersonnelArchiveInfo));
*p[i]=PAInfo;
x=i;
输入要删除人员的编号:
a);
j+=1)
{if(strcmp(p[j]->
No,a)==0)
%s\n"
p[j]->
%d\n"
%s\n\n"
是否要删除?
'
是,'
0'
否:
s);
if(s)continue;
fwrite(p[j],sizeof(structpersonnelArchiveInfo),1,fp);
}
voidcx()//查询模块
inti,j,x,y,s=0;
charb[10];
fclose(fp);
x=i;
请选择查询方法'
编号,'
if(s)
{printf("
输入要查询人员的编号:
b);
{if(strcmp(p[j]->
No,b)==0)
是否要修改'
是,'
否"
y);
if(y)//编号查询
{system("
p[j]->
continue;
}}
else//姓名查询
输入要查询人员的姓名:
name,b)==0)
if(y)
voidpx()//排序模块
inti,j,k,a;
if((fp=fopen("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 人事管理系统 设计