c语言课程设计企业员工业绩管理系统Word格式文档下载.docx
《c语言课程设计企业员工业绩管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计企业员工业绩管理系统Word格式文档下载.docx(27页珍藏版)》请在冰点文库上搜索。
4,增加记录:
增加多个员工的基本信息,位于之前的员工后面。
5,删除记录:
删除员工信息。
6,修改记录:
可以修改员工的任何一项基本信息。
7,查找记录:
可以根据员工的身份证号查找并显示出员工的信息。
8,退出系统
4系统功能模块结构图
本管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,查找记录,六个大模块组成,其总体结构图如下。
图4-1
5函数编写
定义结构类型;
定义全局变量;
定义、编写记录(数据)输入函数;
定义、编写记录(数据)显示函数;
定义、编写记录(数据)增加函数;
定义、编写记录(数据)删除函数;
定义、编写记录(数据)修改函数;
定义、编写记录(数据)查找函数;
函数名称
函数功能
enter()
进入函数
input();
输入函数
display()
显示函数
add()
增加函数
delet()
删除函数
amend()
修改函数
preside();
统计函数
fint();
查找函数
output();
退出函数
图5-1
6实训源程序代码和调试过程(包括截图)
1.1进入界面
图6-1
1.2选择菜单
图6-2
1.3输入信息
图6-3
1.4显示信息
图6-4
1.5增项
图6-5
1.6删项
图6-6
1.7修改信息
图6-7
1.8统计信息
图6-8
1.9查找
图6-9
2.0退出系统
图6-10
7源程序代码
#include<
stdio.h>
stdlib.h>
conio.h>
string.h>
#defineN20
structworker/*定义员工结构体*/
{
longnum;
charname[20];
charsex[2];
charaddress[20];
intscore[3];
intsum;
intave;
};
structworkerwor[N];
intt=1,pl=0;
voidenter();
voidinput();
voiddisplay();
voidadd();
voiddelet();
voidamend();
voidpreside();
voidfint();
voidoutput();
voidmain()
{
intpassword;
inti;
printf("
\n\n\n\n\t\t\t企业员工业绩管理系统\n"
);
/*初始界面输入验证密码*/
for(i=1;
i<
=3;
i++)
printf("
\n\n\t\t\t请输入密码:
"
scanf("
%d"
&
password);
if(password==511)
{
enter();
break;
}
error!
pleaseinputagain!
}
密码输入三次有误!
系统锁定!
}
voidenter()/*进入主菜单函数*/
{
intchoice,w;
chark;
system("
cls"
\t\t\t企业员工业绩管理系统\n\n"
\t\t1.录入.\t2.显示.\t3.增项.\t4.删项.\n\t\t5.修改.\t6.统计.\t7.查找.\t8.退出.\n"
\n输入序号执行相应功能:
scanf("
choice);
switch(choice)
case1:
input();
break;
case2:
display();
break;
case3:
add();
case4:
delet();
case5:
amend();
case6:
preside();
case7:
fint();
case8:
output();
default:
w=1;
if(w==1)
{
输入有误,按任意键重新选怿.\n"
k=getchar();
getch();
enter();
}
}
voidinput()/*员工信息录入的函数*/
intx,count=0,i;
charw,r[20],o;
structworker*p;
p=wor;
\t\t\t员工信息的录入.\n"
do
pl++;
请输入第%d个员工的信息.\n\n"
t);
身份证号:
\n"
%ld"
p->
num);
姓名:
%s"
name);
性别:
gets(r);
gets(&
sex);
地区:
address);
三种成绩:
1.出勤率.2.年销售业绩.3.平时表现.\n"
for(i=0;
3;
i++)
score[i]);
p->
sum=p->
score[0]+p->
score[1]+p->
score[2];
ave=p->
sum/3;
\n\n是否要继续输入员工信息,如果是请按y;
不是请按n.\n"
o=getchar();
w=getchar();
if(w=='
y'
||w=='
Y'
)
{
t++;
x=1;
p++;
}
else
x=0;
while(x==1);
n'
N'
)
printf("
按任意键返回.\n"
getch();
enter();
voiddisplay()/*显示员工信息*/
inti,j;
\t\t\t员工信息显示.\n\n"
for(j=0;
j<
t;
j++)
{
%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n"
"
身份证号"
姓名"
性别"
地区"
出勤率"
年销售业绩"
平时表现"
年终均分"
年终年终年终总分"
%ld\t%s\t%s\t%s\t"
wor[j].num,wor[j].name,wor[j].sex,wor[j].address);
for(i=0;
i++)
%d\t"
wor[j].score[i]);
wor[j].ave);
wor[j].sum);
\n\n"
}
\n按任意键返回.\n"
getch();
enter();
voidadd()/*员工信息的增加*/
inti,x;
chara,w;
p=wor+t;
\n\t\t\t增加员工信息.\n"
do
{
t+1);
p->
scanf("
i++)
p->
a=getchar();
\n是否要继续输入员工信息,如果是请按y;
不是请按n.\n\n"
p++;
t++;
||w=='
)
{
}
}while(x==1);
if(x==0)
voiddelet()/*员工信息的删除*/
longb;
intz,j;
intr=t;
charc,x;
\n\t\t\t删除员工信息\n"
请输入要删除员工的身份证号:
b);
for(p=wor;
p<
wor+t;
p++)
if(p->
num==b)
r--;
if(r==0)
{
你要删除的员工不存在,请按任意键返回.\n"
getch();
}
\n你要删除的员工为:
%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n"
出勤率"
年终年终总分"
%-8ld%-8s%-8s%-8s"
num,p->
name,p->
sex,p->
for(j=0;
j++)
printf("
%-8d"
score[j]);
ave);
sum);
\n你确定要删除吗?
如是请输入y;
不是请输入n.\n"
x=getchar();
c=getchar();
if(c=='
||c=='
)
{
for(p=wor;
p++)
*p=*(p+1);
t--;
系统已为你删除信息,请按任意键返回.\n"
删除信息取消!
voidamend()/*员工信息的修改*/
longj;
inti,z,r=t;
charc,d,e,f,q,u,l,v,m,k,h1,h2,h3,h4;
\n\t\t\t修改员工信息\n"
请输入要修改员工的身份证号:
j);
num==j)
else
你输入的员工不存在,请按任意键返回.\n"
\n你要修改的员工为:
\n\n是否要修改身份证号:
是请按y;
l=getchar();
请输入正确的身份证号:
z=1;
是否要修改姓名:
q=getchar();
d=getchar();
m=getchar();
if(d=='
||d=='
)
请输入正确的姓名:
u=getchar();
z++;
\n是否要修改性别:
不是请按n.\n\n"
e=getchar();
if(e=='
||e=='
请输入正确的性别:
\n是否要修改地区:
h3=getchar();
h4=getchar();
if(h3=='
||h3=='
请输入正确的地区:
\n是否要修改三种成绩:
f=getchar();
if(f=='
||f=='
请输入正确的三种成绩:
for(i=0;
i++)
scanf("
v=getchar();
请按任意键返回.\n"
voidpreside()/*员工信息的统计*/
inti,j,o=0,b=10,r=60;
\n\t\t\t员工信息统计.\n"
p++)
j++)
\n\n\n"
p++)
if(p->
score[i]<
r)
{
b=b-1;
o=o+1;
for(j=0;
j++)
printf("
break;
}
if(b==10)
\n\n企业所有的人都通过考试.\n\n"
elseif(b<
10)
\n以上为合格的,企业不合格的人数为:
%d人.\n\n"
o);
统计完成,请按任意键返回.\n"
voidfint()/*查找员工信息*/
inti,j=t;
longnum_a;
chara,b;
\n\t\t\t查找员工信息\n"
\t\t\t请输入要查找的员工身份证号:
num_a);
p++)
j--;
num==num_a)
if(j==0)
不存在该员工,请按任意键返回.\n\n"
a=getchar();
\n你要查找的员工为:
for(