职工信息管理系统.docx
- 文档编号:7807226
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:26
- 大小:19.54KB
职工信息管理系统.docx
《职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
职工信息管理系统
#include
#include
#include
#include
#defineN100
structemployee//职工基本情况
{
intnum;//工号
intposition;//职位1为董事长2为总经理3为副总经理等
charname[8];//姓名
charsex[2];//性别f为女m为男
intage;//年龄
intcult;//文化程度1为专家2为博士3为硕士4为学士5为其他
intsalary;//工资
intstate;//健康情况分为good,general,bad
}em[N];
structcommunication//职工通讯录
{
charname[8];
charofficetel[13];
charhometel[13];
charhandtel[13];
charaddress[13];
}empc[N];
structempsalary//职工工资与姓名的文件
{
charname[8];
intsalary;
}emps[N];
voidmanage();
voidquery();
voidcommunicate();
voidinput();
voiddisplay();
voidchange();
voiddel();
voidadd();
voidcount();
intchangeposition();
intchangecult();
intchangesalary();
intchangestate();
voidquerysalary();
voidcreat();
voidinputcommunicate();
voidquerycommunicate();
voidchangecommunicate();
voidchangetel1();
voidchangetel2();
voidchangetel3();
charpassword[7]="123456";
voidmain()
{
intchoice;
chars[7];
intflag=0;
intn=3;
do
{
printf("请你输入密码:
\n");
scanf("%s",s);
if(!
strcmp(s,password))//若密码正确
{
printf("恭喜你成功登陆了\n\n\n");
flag=1;
break;
}
else
{
printf("输入有错误请重新输入:
\n");
n--;
}
}while(n>0);
if(!
flag)
{
printf("你的输入次数已到再见\n");
}
do
{
printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");
printf("\t\t欢迎进入职工管理系统中文版\n");
printf("制作人:
某某\t班级:
计0803班\t学号:
303011608217\n");
printf("联系地址:
某某经济学院\n");
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\t请你选择操作类型:
\n");
printf("==============\t\t==============\n");
printf("\t\t1进入管理系统\n");
printf("\t\t2进入查询系统\n");
printf("\t\t3进入通讯录\n");
printf("\t\t0退出系统\n");
printf("==============\t\t==============\n");
scanf("%d",&choice);
switch(choice)
{
case1:
manage();
break;
case2:
query();
break;
case3:
communicate();
break;
case0:
{
printf("谢谢使用再见\n");
exit(0);
}
default:
{
printf("输入有错误请重新输入:
\n");
return;
}
}
}while
(1);
}
voidmanage()
{
intchoicemanage;
charchoice='y';
while(choice=='y'||choice=='Y')
{
printf("\t\t欢迎进入管理系统\n");
printf("===================\n");
printf("\t\t请你选择操作类型:
\n");
printf("\t\t1输入职工信息\n");
printf("\t\t2显示职工信息\n");
printf("\t\t3修改职工信息\n");
printf("\t\t4追加一个职工信息\n");
printf("\t\t5删除一个职工信息\n");
printf("\t\t6统计职工信息\n");
printf("\t\t0返回\n");
printf("=====================\n");
scanf("%d",&choicemanage);
switch(choicemanage)
{
case1:
input();//输入职工信息
break;
case2:
display();//显示职工信息
break;
case3:
change();//修改职工信息
break;
case4:
add();//追加一个职工信息
break;
case5:
del();//删除一个职工信息
break;
case6:
count();//统计职工信息
break;
case0:
printf("谢谢你的使用再见\n");
return;
default:
printf("你的输入有错请重新输入\n");
}
printf("是否继续管理?
(y/n)");
scanf("%s",&choice);
}
if(toupper(choice)=='N'||(choice)=='n')
{
printf("输入完毕,任意键返回\n");
getch();
return;
}
}
voidinput()
{
FILE*fp;
inti=0;
charchoiceinput='y';
if((fp=fopen("employee.txt","w"))==NULL)
return;
while(choiceinput=='y'||choiceinput=='Y')
{
i++;
printf("第%d个职工\n",i);
printf("\n");
printf("请你输入工号:
\n");//输入工号
scanf("%d",&em[i].num);
printf("\n");
printf("请你输入职位:
\n");//输入职位
printf("1为董事长2为总经理3为副总经理\n");
printf("4为经理5为副经理6为秘书\n");
printf("7为技术员8为领班9为员工\n");
scanf("%d",&em[i].position);
printf("\n");
printf("请你输入姓名:
\n");//输入姓名
scanf("%s",em[i].name);
printf("\n");
printf("请你输入性别以m为男f为女:
\n");//输入性别
scanf("%s",em[i].sex);
printf("\n");
printf("请你输入文化程度:
\n");//输入文化程度
printf("1为专家2为博士3为硕士4为学士5为其他\n");
scanf("%d",&em[i].cult);
printf("\n");
printf("请你输入工资:
\n");//输入工资
scanf("%d",&em[i].salary);
printf("\n");
printf("请你输入身体情况:
\n");//身体情况
printf("1好2为一般3为差\n");
scanf("%d",&em[i].state);
printf("\n");
printf("是否继续输入?
(y/n)\n");
scanf("%s",&choiceinput);
fwrite(&em[i],sizeof(structemployee),1,fp);
}
if(toupper(choiceinput)=='N')
{
fclose(fp);
printf("输入完毕,任意键返回\n");
getch();
return;
}
}
voiddisplay()//显示职工信息
{
FILE*fp;
inti;
if((fp=fopen("employee.txt","r"))==NULL)
return;
printf("输出结果:
\n");
printf("工号职位姓名性别文化程度工资身体情况\n");
for(i=0;fread(&em[i],sizeof(structemployee),1,fp)!
=0;i++)
{
printf("工号%d\n",em[i].num);
printf("职位为%d\n",em[i].position);
printf("1为董事长2为总经理3为副总经理\n");
printf("4为经理5为副经理6为秘书\n");
printf("7为技术员8为领班9为员工\n");
printf("姓名为%s\n",em[i].name);
printf("性别为%s\n",em[i].sex);
printf("其中m为男f为女\n");
printf("文化程度为%d\n",em[i].cult);
printf("1为专家2为博士3为硕士4为学士5为其他\n");
printf("工资为%d\n",em[i].salary);
printf("身体情况为%d\n",em[i].state);
printf("1好2为一般3为差\n");
}
printf("完毕按任意键返回\n");
getch();
fclose(fp);
return;
}
voidchange()
{
FILE*fp;
inti;
charchname[8];
intchoicechange;
printf("请你输入要修改的人的姓名:
\n");
scanf("%s",&chname);
if((fp=fopen("employee.txt","w+"))==NULL)
{
printf("不能够打开这个文件\n");
return;
}
for(i=0;i { if(strcmp(chname,em[i].name)==0) { printf("这是你要修改的人的信息\n"); printf("工号为%d职位为%d姓名为%s性别为%s文化程度为%d工资为%d身体为%d\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].cult,em[i].salary,em[i].state); printf("------------------------------------------------------------\n"); printf("请你输入要修改的部分: \n"); printf("======================\n"); printf("1修改职位\n"); printf("2修改文化程度\n"); printf("3修改工资\n"); printf("4修改身体情况\n"); printf("0退出系统\n"); printf("======================\n"); printf("请选择\n"); scanf("%d",&choicechange); switch(choicechange) { case1: em[i].position=changeposition(); break; case2: em[i].cult=changecult(); break; case3: em[i].salary=changesalary(); break; case4: em[i].state=changestate(); break; case0: return; default: printf("输入有错误"); } fwrite(&em[i],sizeof(structemployee),1,fp); } } fclose(fp); printf("操作完成按任意键返回\n"); getch(); return; } intchangeposition() { intnewposition; printf("请你输入新职位: \n"); printf("1为董事长2为总经理3为副总经理\n"); printf("4为经理5为副经理6为秘书\n"); printf("7为技术员8为领班9为员工\n"); scanf("%d",&newposition); return(newposition); } intchangecult() { intnewcult; printf("请你输入新的文凭: \n"); printf("1为专家2为博士3为硕士4为学士5为其他\n"); scanf("%d",&newcult); return(newcult); } intchangesalary() { intnewsalary; printf("请你输入新的工资: \n"); scanf("%d",&newsalary); return(newsalary); } intchangestate() { intnewstate; printf("请你输入现在的身体情况: \n"); printf("1好2为一般3为差\n"); scanf("%d",&newstate); return(newstate); } voidadd()//追加一个职工信息 { structemployeeemp; FILE*fp; inti=0; if((fp=fopen("employee.txt","ab+"))==NULL) { printf("不能够打开这个文件\n"); getch(); return; } printf("请你输入新人的内容: \n"); printf("请你输入工号: \n");//输入工号 scanf("%d",&emp.num); printf("请你输入职位: \n");//输入职位 printf("1为董事长2为总经理3为副总经理\n"); printf("4为经理5为副经理6为秘书\n"); printf("7为技术员8为领班9为员工\n"); scanf("%d",&emp.position); printf("请你输入姓名: \n");//输入姓名 scanf("%s",emp.name); printf("请你输入性别以m为男f为女: \n");//输入性别 scanf("%s",emp.sex); printf("请你输入文化程度: \n");//输入文化程度 printf("1为专家2为博士3为硕士4为学士5为其他\n"); scanf("%d",&emp.cult); printf("请你输入工资: \n");//输入工资 scanf("%d",&emp.salary); printf("请你输入身体情况: \n");//身体情况 printf("1好2为一般3为差\n"); scanf("%d",&emp.state); fwrite(&emp,sizeof(structemployee),1,fp); rewind(fp); printf("插入完毕,按任意键返回\n"); getch(); fclose(fp); return; } voiddel()//删除一个职工信息 { inti=0; chardelname[8]; FILE*fp; if((fp=fopen("employee.txt","w"))==NULL) { printf("文件为空,不能够打开\n"); printf("按任意键返回\n"); getch(); return; } printf("请你输入要删除的人的姓名: \n");//删除的职工的信息 scanf("%s",delname); for(i=0;fread(&em[i],sizeof(structemployee),1,fp)! =0;i++) { if(strcmp(em[i].name,delname)! =0) fwrite(&em[i],sizeof(structemployee),1,fp); } fclose(fp); if((fp=fopen("employee.txt","r"))==NULL)//显示新的职工的信息 return; printf("新的职工的信息为: \n"); for(i=0;fread(&em[i],sizeof(structemployee),1,fp)! =0;i++) { printf("工号%d",em[i].num); printf("职位为%d",em[i].position); printf("1为董事长2为总经理3为副总经理\n"); printf("4为经理5为副经理6为秘书\n"); printf("7为技术员8为领班9为员工\n"); printf("姓名为%s",em[i].name[8]); printf("性别为%s",em[i].sex[2]); printf("其中m为男f为女"); printf("文化程度为%d",em[i].cult); printf("1为专家2为博士3为硕士4为学士5为其他\n"); printf("工资为%d",em[i].salary); printf("身体情况为%d",em[i].state); printf("1好2为一般3为差\n"); fclose(fp); } } voidcount() { FILE*fp; inti=0; intnum=0;//总人数统计 intmnum=0,fnum=0;//性别人数统计 intexpernum=0,doctornum=0,masternum=0,bechelornum=0,othernum=0;//学位人数统计 intdsznum=0,zglnum=0,fzglnum=0,glnum=0,fglnum=0;//职位人数统计 intmishunum=0,jsynum=0,lbnum=0,ygnum=0; if((fp=fopen("employee.txt","r"))==NULL) { printf("不能够打开这个文件\n"); printf("按任意键继续\n"); getch(); return; } do { fread(&em[i],sizeof(structemployee),1,fp); if(feof(fp)) break; num++; if(strcmp(em[i].sex,"m")==0) mnum++; if(strcmp(em[i].sex,"f")==0) fnum++; if(em[i].cult==1) expernum++; if(em[i].cult==2) doctornum++; if(em[i].cult==3) masternum++; if(em[i].cult=4) bechelornum++; if(em[i].cult=5) othernum++; if(em[i].position==1)//职位统计 dsznum++; if(em[i].position==2) zglnum++; if(em[i].position==3) fzglnum++; if(em[i].position==4) glnum++; if(em[i].position==5) fglnum++; if(em[i].position==6) mishunum++; if(em[i].position==7) jsynum++; if(em[i].position==8) lbnum++; if(em[i].position==9) ygnum++; i++; }while (1); printf("总人数为%d\n",num); printf("====性别分类=====\n"); printf("男人数为%d\n",mnum); printf("女人数为%d\n",fnum); printf("=====文凭分类=====\n"); printf("专家数为%d\n",expernum); printf("博士数为%d\n",doctornum); printf("硕士数为%d\n",masternum); printf("学士数为%d\n",bechelornum); printf("其他的数为%d\n",othernum); printf("=====职位分类========\n"); printf("董事长数为%d\n",dsznum); printf("总经理数为%d\n",zglnum); printf("副总经理数为%d",fzglnum); printf("经理数为%d",glnum); printf("副经理数为%d",fglnum); printf("秘书数为%d",mishunum); printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 系统