职工档案管理系统报告docWord文档下载推荐.docx
《职工档案管理系统报告docWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《职工档案管理系统报告docWord文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
3、完成上述查找(编号,姓名,性别等)、修改等功能。
数据结构定义:
structworker
{
intNum;
charName[15];
charSex[4];
charBirth[20];
charAddr[50];
charDepart[30];
charZhicheng[10];
intGongzi;
charPhone[15];
}work[100];
五、详细设计
源程序代码如下:
#include<
stdio.h>
windows.h>
string.h>
#defineN100
//定义一个结构体
voidmenu();
//菜单函数
voidinput();
//输入函数
voidsave(int);
//保存函数
voiddisplay();
//浏览函数
voidadd();
//添加函数
voidsearch();
//查找函数
voidmodify();
//修改函数
voidmain()
intn,flag;
chara;
menu();
do
{
printf("
请选择你需要操作的步骤(1--7):
\n"
);
scanf("
%d"
&
n);
if(n>
=1&
&
n<
=7)
flag=1;
break;
}
else
flag=0;
您输入有误,请重新选择!
"
while(flag==0);
system("
cls"
while(flag==1)
switch(n)
case1:
printf("
欢迎录入职工信息\n"
input();
break;
case2:
欢迎浏览职工信息\n"
display();
case3:
欢迎查询职工信息\n"
search();
case5:
欢迎添加职工信息\n"
add();
case4:
欢迎修改职工信息\n"
modify();
case6:
exit(0);
default:
getchar();
是否继续进行(yorn):
%c"
a);
if(a=='
y'
)
//清屏
//调用菜单函数
请再次选择你需要操作的步骤(1--7):
else
exit(0);
}
voidmenu()//菜单函数
{
************欢迎进入职工档案管理系统************\n"
1.录入职工信息\n"
2.浏览职工信息\n"
3.查询职工信息\n"
4.修改职工信息\n"
5.添加职工信息\n"
6.退出\n"
********************谢谢使用********************\n"
voidinput()//录入函数
inti,m;
请输入要创建信息的职工人数(1--100):
m);
printf("
请输入职工的信息:
for(i=0;
i<
m;
i++)
请输入职工的编号:
fflush(stdin);
scanf("
work[i].Num);
请输入职工的姓名:
%s"
work[i].Name);
请输入职工的性别:
work[i].Sex);
请输入职工的出生年月:
work[i].Birth);
请输入职工的住址:
work[i].Addr);
请输入职工的所在部门:
work[i].Depart);
请输入职工的职称:
work[i].Zhicheng);
请输入职工的工资级别:
work[i].Gongzi);
请输入职工的电话:
work[i].Phone);
system("
文件创建完毕!
save(m);
voidsave(intm)//保存文件
inti;
FILE*fp;
if((fp=fopen("
职工档案.txt"
"
wb"
))==NULL)
printf("
文件打开失败\n"
for(i=0;
i++)//将内存中职工的信息输出到磁盘文件中去
if(fwrite(&
work[i],sizeof(structworker),1,fp)!
=1)
filewriteerror\n"
fclose(fp);
intload()//导入函数
inti=0;
if((fp=fopen("
rb"
do
fread(&
work[i],sizeof(structworker),1,fp);
i++;
while(feof(fp)==0);
return(i-1);
voiddisplay()//浏览函数
intm=load();
编号姓名性别出生年月住址所在部门职称工资级别电话\t\n"
i++)//m为输入的职工人数
%d%s%s%s%s%s%s%d%s\n"
work[i].Num,work[i].Name,work[i].Sex,work[i].Birth,work[i].Addr,work[i].Depart,work[i].Zhicheng,work[i].Gongzi,work[i].Phone);
voidadd()//添加函数
intn;
intcount=0;
\n原来的职工信息:
display();
fp=fopen("
emploee_list"
a"
请输入想增加的职工数:
for(i=m;
(m+n);
\n请输入新增加职工的信息:
count=count+1;
已增加的人数:
%d\n"
count);
\n添加完毕!
m=m+count;
\n浏览增加后的所有职工信息:
voidsearch()//查询函数
intnum;
inti,t;
请输入要查找的职工号:
num);
if(num==work[i].Num)
{
\n已找到此人,其记录为:
if(i==m)
\n对不起,查无此人\n"
返回主菜单请按1,继续查询职工号请按2\n"
t);
switch(t)
default:
voidmodify()//修改函数
intb,c,i,n,t,flag;
请输入要修改的职工编号:
Num);
for(flag=1,i=0;
flag&
if(work[i].Num==Num)
\n已找到此人,原始记录为:
\n确实要修改此人信息请按1;
不修改请按0\n"
if(n==1)
\n需要进行修改的选项\n1.编号2.姓名3.性别4.出生年月5.住址6.所在部门7.职称8.工资级别9.电话\n"
请输入你想修改的那一项序号:
c);
if(c>
9||c<
1)
\n选择错误,请重新选择!
if(flag==1)
\n对不起,查无此人!
switch(c)//因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人
职工的编号改为:
"
work[i-1].Num=Num;
姓名改为:
Name);
strcpy(work[i-1].Name,Name);
性别改为:
Sex);
strcpy(work[i-1].Sex,Sex);
出生年月改为:
Birth);
strcpy(work[i-1].Birth,Birth);
住址改为:
Addr);
strcpy(work[i-1].Addr,Addr);
所在部门改为:
Depart);
case7:
Zhicheng);
strcpy(work[i-1].Zhicheng,Zhicheng);
case8:
工资级别改为:
Gongzi);
work[i-1].Gongzi=Gongzi;
case9:
电话改为:
Phone);
strcpy(work[i-1].Phone,Phone);
}
\n是否确定所修改的信息?
\n是请按1;
不,重新修改请按2:
\n"
b);
while(b==2);
\n浏览修改后的所有职工信息:
\n继续修改请按1,不再修改请按0\n"
case0:
六、使用说明
例如,表达式求值
本程序在turboc2.0环境下运行通过。
运行后,根据提示输入数据即可。
可以输入由运算符+、-、*、/、()所构成的算术表达式。
表达式输入结束时按回车键。
在屏幕上输出后缀表达式,并输出计算结果。
七、运行调试
1.菜单界面
2.
3.
4.
5.
八、训练心得
通过这次课程设计,增加了我们对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习C语言这门课程开始,已发现程序设计的好处,它对我们数学的学习也有很大的帮助。
在学习C语言的过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。
在具体操作中对这学期所学的C语言的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,为我们以后的c语言学习奠定了基础,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。
发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。
通过实际操作,学会C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力
九、参考文献
[1]C语言陈旭设计实践教程.电子工业出版社
[2]谭浩强.C程序设计.清华大学出版
教师评语:
成绩
评阅教师
注:
教师评定内容
1、实践操作技能。
2、训练报告质量。
3、训练期间表现