计算机C语言课程设计职工管理系统.docx
- 文档编号:4631147
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:17.30KB
计算机C语言课程设计职工管理系统.docx
《计算机C语言课程设计职工管理系统.docx》由会员分享,可在线阅读,更多相关《计算机C语言课程设计职工管理系统.docx(10页珍藏版)》请在冰豆网上搜索。
计算机C语言课程设计职工管理系统
职工管理系统:
#include
#include
#include
#include
#defineN100
typedefstructemployee/*职工基本情况*/
{
intnum;/*工号*/
intposition;/*职位1为董事长2为总经理3为副总经理等*/
charname[8];/*姓名*/
charsex[2];/*性别f为女m为男*/
intage;/*年龄*/
intcult;/*文化程度1为专家2为博士3为硕士4为学士5为其他*/
intsalary;/*工资*/
intstate;/*健康情况分为good,general,bad*/
charday[10];/*工作年月*/
}ro;
roem[N];
voidmanage();
voidquery();
voidinput();
voiddisplay();
voidchange();
voiddel();
voidadd();
intchangeposition();
intchangecult();
intchangesalary();
intchangestate();
char*changetel1();
char*changetel2();
char*changetel3();
inttotal;
intp;
charpassword[10]="xiao";
voidmain()
{
intchoice;
chars[10];
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("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\t\t欢迎进入职工管理系统中文版\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\t\t请你选择操作类型:
\n");
printf("======================================================\n");
printf(" \t\t1进入管理系统\n");
printf(" \t\t2进入查询系统\n");
printf(" \t\t0退出系统\n");
printf("======================================================\n");
scanf("%d",&choice);
switch(choice)
{
case1:
manage();
break;
case2:
query();
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\t0返回\n");
printf("======================================================\n");
scanf("%d",&choicemanage);
switch(choicemanage)
{
case1:
input();/*输入职工信息*/
break;
case2:
display();/*显示职工信息*/
break;
case3:
change();/*修改职工信息*/
break;
case4:
add();/*追加一个职工信息*/
break;
case5:
del();/*删除一个职工信息*/
break;
case0:
printf("谢谢你的使用再见\n");
return;
default:
printf("你的输入有错请重新输入\n");
}
printf("是否继续管理?
(y/n)");
scanf("%s",&choice);
}
if(toupper(choice)=='N'||(choice)=='n')
{
printf("输入完毕,任意键返回\n");
getchar();
return;
}
}
voidinput()
{
FILE*fp;
inti=0;
charchoiceinput='y';
if((fp=fopen("employee.txt","w"))==NULL)
return;
while(choiceinput=='y'||choiceinput=='Y')
{
i++;
total++;
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");
scanf("%s",em[i].day);
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");
printf("\n");
for(i=0;fread(&em[i],sizeof(structemployee),1,fp)!
=0;i++)
{
printf("\n");
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");
}
printf("\n");
printf("完毕按任意键返回\n");
getch(); /*文件里用*/
fclose(fp);
return;
}
voidchange()
{
FILE*fp;
inti;
charchname[8];
intchoicechange;
roa[N];
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("输入有错误"); } a[i]=em[i]; } else { a[i]=em[i]; } } for(i=0;i { em[i]=a[i]; } i=0; fwrite(&em[i],sizeof(structemployee),total,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(); total=total+1; 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;i { if(strcmp(em[i].name,delname)==0) { total--; for(;i { em[i]=em[i+1]; } } } i=0; fwrite(&em[i],sizeof(structemployee),total,fp); fclose(fp); } voidquery() { FILE*fp; inti=0; charquename[8]; if((fp=fopen("employee.txt","r"))==NULL) { printf("不能够打开文件,按任意键返回\n"); getch(); return; } printf("请你输入要查询的人的姓名\n"); scanf("%s",quename); for(i=0;fread(&em[i],sizeof(structemployee),1,fp)! =0;i++) { if(strcmp(em[i].name,quename)==0) /*找到,并显示该职工记录*/ { printf("\t\t\n查询到的职工号或姓名为的信息如下: \n"); printf("以下是你要查询的人的信息\n"); 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"); pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 语言 课程设计 职工 管理 系统