职工信息管理系统.docx

上传人:b****6 文档编号:7807226 上传时间:2023-01-26 格式:DOCX 页数:26 大小:19.54KB
下载 相关 举报
职工信息管理系统.docx_第1页
第1页 / 共26页
职工信息管理系统.docx_第2页
第2页 / 共26页
职工信息管理系统.docx_第3页
第3页 / 共26页
职工信息管理系统.docx_第4页
第4页 / 共26页
职工信息管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

职工信息管理系统.docx

《职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。

职工信息管理系统.docx

职工信息管理系统

#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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1