职工信息管理系统设计报告Word下载.docx
《职工信息管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统设计报告Word下载.docx(22页珍藏版)》请在冰点文库上搜索。
在数据库里搜索所需了解的一个职工的所有信息。
5.保存新信息模块
把新添加职工的信息保存到程序外面即数据库“职工信息”里。
如果不执行这模块里的程序新添加的职工信息将白费。
使用说明书
点击开始菜单,进入菜单选择。
输入:
将所需的信息输入。
输出:
员工的基本信息。
根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。
当错误不能改正,则退出浏览信息。
进入查询信息:
则屏幕会出现两个对话框——按员工,工号查找,查处相应的所需信息,当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中:
员工信息:
显示员工工作号、性别、学历、等。
#include<
stdio.h>
#include<
windows.h>
string.h>
#defineN100
intn,flag;
chara;
structemployee
{
intnum;
charname[20];
charsex;
intage;
intwage;
charxueli[30];
charaddr[30];
chartel[20];
}em[100];
voidmenu();
voidinput();
voidsave(int);
voiddisplay();
voiddel();
voidadd();
voidsearch();
voidsearch_num();
voidsearch_xueli();
voidsearch_tel();
voidmodify();
voidmain()
menu();
do
{
printf("
请选择你需要操作的步骤(1--7):
\n"
);
scanf("
%d"
&
n);
if(n>
=1&
&
n<
=7)
{
flag=1;
break;
}
else
flag=0;
printf("
您输入有误,请重新选择!
"
}
}while(flag==0);
while(flag==1)
switch(n)
case1:
printf("
输入职工信息\n"
input();
break;
case2:
浏览职工信息\n"
display();
case3:
按职工号查询职工信息\n"
search();
case4:
删除职工信息\n"
del();
case5:
添加职工信息\n"
add();
case6:
修改职工信息\n"
modify();
case7:
exit(0);
default:
getchar();
是否继续进行(yorn):
%c"
a);
if(a=='
y'
)
system("
cls"
menu();
请再次选择你需要操作的步骤(1--7):
scanf("
exit(0);
}
}
voidmenu()
printf("
--------------------欢迎进入职工信息管理系统----------\n"
1.输入职工信息\n"
2.浏览职工信息\n"
3.查询职工信息\n"
4.删除职工信息\n"
5.添加职工信息\n"
6.修改职工信息\n"
7.退出\n"
--------------------谢谢使用--------------------------\n"
}
voidinput()
inti,m;
请输入需要创建信息的职工人数(1--100):
m);
for(i=0;
i<
m;
i++)
请输入职工号:
em[i].num);
请输入姓名:
%s"
em[i].name);
请输入性别(f--女m--男):
"
em[i].sex);
请输入年龄:
em[i].age);
请输入学历:
em[i].xueli);
请输入工资:
em[i].wage);
请输入住址:
em[i].addr);
请输入电话:
em[i].tel);
\n创建完毕!
save(m);
voidsave(intm)
inti;
FILE*fp;
if((fp=fopen("
employee_list"
"
wb"
))==NULL)
printf("
cannotopenfile\n"
exit(0);
for(i=0;
if(fwrite(&
em[i],sizeof(structemployee),1,fp)!
=1)
filewriteerror\n"
fclose(fp);
intload()
inti=0;
if((fp=fopen("
rb"
else
do
fread(&
em[i],sizeof(structemployee),1,fp);
i++;
while(feof(fp)==0);
fclose(fp);
return(i-1);
voiddisplay()
intm=load();
职工号\t姓名\t\t性别\t\t年龄\n"
\n%d\t\t%s\t%c\t\t%d\t\n"
em[i].num,em[i].name,em[i].sex,em[i].age);
\n学历\t\t工资\t\t住址\t\t电话\n"
\n%s\t%d\t\t%s\t%s\n"
em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
voiddel()
inti,j,n,t,flag;
\n原来的职工信息:
display();
请输入要删除的职工的姓名:
scanf("
name);
for(flag=1,i=0;
flag&
if(strcmp(em[i].name,name)==0)
\n已找到此人,原始记录为:
职工号\t姓名\t\t性别\t\t年龄\n"
\n确实要删除此人信息请按1,不删除请按0\n"
if(n==1)
{
for(j=i;
j<
m-1;
j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
strcpy(em[j].tel,em[j+1].tel);
}
flag=0;
}
if(!
flag)
m=m-1;
\n对不起,查无此人!
\n浏览删除后的所有职工信息:
\n继续删除请按1,不再删除请按0\n"
t);
switch(t)
case1:
case0:
default:
voidadd()
intn;
intcount=0;
fp=fopen("
emploee_list"
a"
请输入想增加的职工数:
for(i=m;
(m+n);
\n请输入新增加职工的信息:
scanf("
count=count+1;
已增加的人数:
%d\n"
count);
\n添加完毕!
m=m+count;
\n浏览增加后的所有职工信息:
voidsearch()
intt,flag;
\n按职工号查询请按1;
按学历查询请按2;
按电话号码查询请按3;
进入主函数请按4\n"
if(t>
t<
=4)
switch(t)
case1:
按职工号查询\n"
search_num();
case2:
按学历查询\n"
search_xueli();
按电话号码查询\n"
search_tel();
main();
default:
voidsearch_num()
inti,t;
请输入要查找的职工号:
num);
if(num==em[i].num)
\n已找到此人,其记录为:
if(i==m)
\n对不起,查无此人\n"
返回查询函数请按1,继续查询职工号请按2\n"
break;
voidsearch_xueli()
请输入要查找的学历:
xueli);
if(strcmp(em[i].xueli,xueli)==0)
\n已找到,其记录为:
返回查询函数请按1,继续查询学历请按2\n"
default:
voidsearch_tel()
inti,t;
请输入要查找的电话号码:
tel);
if(strcmp(tel,em[i].tel)==0)
返回查询函数请按1,继续查询电话号码请按2\n"
voidmodify()
intb,c,i,n,t,flag;
请输入要修改的职工的姓名:
\n确实要修改此人信息请按1不修改请按0\n"
printf("
\n需要进行修改的选项\n1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n"
请输入你想修改的那一项序号:
scanf("
c);
if(c>
8||c<
1)
printf("
\n选择错误,请重新选择!
if(flag==1)
switch(c)
职工号改为:
em[i-1].num=num;
姓名改为:
strcpy(em[i-1].name,name);
性别改为: