C语言课程设计职工工资信息管理系统源代码.docx
- 文档编号:12472689
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:17
- 大小:16.59KB
C语言课程设计职工工资信息管理系统源代码.docx
《C语言课程设计职工工资信息管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言课程设计职工工资信息管理系统源代码.docx(17页珍藏版)》请在冰豆网上搜索。
C语言课程设计职工工资信息管理系统源代码
#include
#include
#include
#include
#defineN10000
intchoice;
structemployee
{
intnum;
intposition;
charname[10000];
charsex[2];
intsalary;
inti,max,t;
}em[N];
structempsalary
{
charname[10000];
intsalary;
}emps[N];
voidmanage();
voidquery();
voidinput();
voiddisplay();
voidchange();
voiddel();
voidadd();
voidpaixu();
intchangeposition();
intchangesalary();
voidquerysalary();
voidcreat();
voidmain()
{
do
{
printf("欢迎进入职工管理系统中文版\n");
printf("请你选择操作类型:
\n");
printf("1进入管理系统\n");
printf("2进入查询系统\n");
printf("0退出系统\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("欢迎进入管理系统\n");
printf("请你选择操作类型:
\n");
printf("1输入职工信息\n");
printf("2显示职工信息\n");
printf("3修改职工信息\n");
printf("4追加一个职工信息\n");
printf("5删除一个职工信息\n");
printf("6排序\n");
printf("0返回\n");
scanf("%d",&choicemanage);
switch(choicemanage)
{
case1:
input();
break;
case2:
display();
break;
case3:
change();
break;
case4:
add();
break;
case5:
del();
case6:
paixu();
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");
scanf("%d",&em[i].salary);
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");
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].salary);
}
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\n职位为%d\n姓名为%s\n性别为%s\n工资为%d\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].salary); printf("请你输入要修改的部分: \n"); printf("1修改职位\n"); printf("2修改工资\n"); printf("0退出系统\n"); printf("请选择\n"); scanf("%d",&choicechange); switch(choicechange) { case1: em[i].position=changeposition(); break; case2: em[i].salary=changesalary(); 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); } intchangesalary() { intnewsalary; printf("请你输入新的工资: \n"); scanf("%d",&newsalary); return(newsalary); } voidadd() { structemployeeemp; FILE*fp; inti=0; if((fp=fopen("employee.txt","ab+"))==NULL) { printf("不能够打开这个文件\n"); getch(); return; } printf("请你输入新人的内容: \n"); printf("请你输入工号: \n"); scanf("%d",&em[i].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"); scanf("%d",&emp.salary); 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\n",em[i].name[8]); printf("性别为%s\n",em[i].sex[2]); printf("其中m为男f为女\n"); printf("工资为%d\n",em[i].salary); 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",em[i].num); printf("职位为%d",em[i].position); printf("\t1董事长2总经理3副总经理\n"); printf("\t4经理5副经理6秘书\n"); printf("\t7技术员8领班9员工\n"); printf("姓名为%s\n",em[i].name); printf("性别为%s\n",em[i].sex); printf("\t其中m为男f为女\n"); printf("工资为%d\n",em[i].salary); printf("\n"); printf("查询完毕,按任意键返回\n"); getch(); fclose(fp); return; } } printf("没有这样的人,按任意键返回\n"); getch(); fclose(fp); return; } voidquerysalary() { inti; FILE*fp1,*fp2; creat(); if((fp1=fopen("employee.txt","w+"))==NULL) return; for(i=0;fread(&em[i],sizeof(structemployee),1,fp1)! =0;i++) { printf("输出结果为: \n"); 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\n",em[i].name[8]); printf("性别为%s\n",em[i].sex[2]); printf("其中m为男f为女\n"); printf("工资为%d\n",em[i].salary); strcpy(emps[i].name,em[i].name); emps[i].salary=em[i].salary; } if((fp2=fopen("empsalary.txt","w"))==NULL) return; for(i=0;i fwrite(&emps[i],sizeof(structempsalary),1,fp2); fclose(fp1); fclose(fp2); } voidcreat() { FILE*fp; if((fp=fopen("D: \\employee.txt","w+"))==NULL) return; input(); fclose(fp); } voidpaixu() { intmax,i,t,j; for(i=1;i<10;i++) { max=em[i].salary; for(j=i;j<10;j++) { if(em[j].salary>max) { max=em[j].salary; t=em[j].salary; em[j].salary=t; } } } printf("姓名工资工号性别职位\n"); for(i=1;i<10;i++) printf("%s%d%d%s%d\n",em[i].name,em[i].salary,em[i].num,em[i].sex,em[i].position); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 职工工资 信息 管理 系统 源代码