C++职工工资管理系统源代码.docx
- 文档编号:30154408
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:16
- 大小:15.96KB
C++职工工资管理系统源代码.docx
《C++职工工资管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C++职工工资管理系统源代码.docx(16页珍藏版)》请在冰豆网上搜索。
C++职工工资管理系统源代码
附录〈源程序〉
#include
#include
#include
structworker
{
charname[30];
charID[10];
intsalary1,salary2,salary3;
};
intdq(structworkerwo[]);
voidshow();
voidbc(structworkerwo[]);
voidadd();
voidsee();
voidsearch();
voidghcz();
voidxmcz();
voiddel();
voidxmsc();
voidghsc();
voidstatistics();
voidmodify();
voidghxg();
voidxmxg();
voidreserve();
voidback();
voidauthor();
structworkerwo[100];//保存所有的职工信息
intNumber=0;//记录总的职工人数
voidmain()
{
intchoose=0;
while(true)
{
show();
printf("\t\t====>请选择:
");
scanf("%d",&choose);
system("cls");
switch(choose)
{
case0:
exit(0);//退出
break;
case1:
add();
back();//添加职工信息
break;
case2:
see();
back();//查看职工信息
break;
case3:
search();
back();//查找职工信息
break;
case4:
del();
back();//删除职工信息
break;
case5:
statistics();
back();//统计职工工资
break;
case6:
modify();
back();//修改职工信息
break;
case7:
reserve();
back();//保存数据
break;
case8:
author();
back();//作者信息
break;
default:
break;
}
fflush(stdin);
getchar();
system("cls");
}
}
intdq(structworkerwo[])
{
FILE*fp=NULL;
inti=0;
fp=fopen("C:
//worker.dat","rb");
while(fread(&wo[i],sizeof(structworker),1,fp))
i++;
fclose(fp);
returni;
}
voidshow()
{
printf("\n");
printf("\t****************职工工资管理系统****************\n\n");
printf("\t*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*\n\n");
printf("\t^^^^^^^^^^^^^^^[1]添加职工信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[2]查看职工信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[3]查找职工信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[4]删除职工信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[5]统计职工工资^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[6]修改职工信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[7]保存数据^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[8]作者信息^^^^^^^^^^^^^^^^^\n");
printf("\t^^^^^^^^^^^^^^^[0]退出系统^^^^^^^^^^^^^^^^^\n\n");
printf("\t*★★★★★★★★★★★★★★★★★★★★★★★*\n");
}
voidbc(structworker*wo)
{
FILE*fp=NULL;
fp=fopen("C:
//worker.dat","ab+");
fwrite(wo,sizeof(structworker),1,fp);
fclose(fp);
}
//添加职工信息
voidadd()
{
intnumberTemp=0;
inti=0;
structworkertemp;
printf("请输入要添加职工个数:
");
scanf("%d",&numberTemp);
for(i=0;i { printf("输入第%d个职工信息\n",i+1); printf("姓名: "); scanf("%s",temp.name); printf("工号: "); scanf("%s",temp.ID); printf("基本工资: "); scanf("%d",&temp.salary1); printf("职务工资: "); scanf("%d",&temp.salary2); printf("津贴: "); scanf("%d",&temp.salary3); wo[Number++]=temp;//写入到数组 bc(&temp);//写入到文件 } printf("添加成功\n"); } //查看职工信息 voidsee() { inti=0; printf("以下是全部职工\n"); printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n"); while(i { printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3); i++; } } //查找职工信息 voidsearch() { intn=0; printf("1按姓名查找\n"); printf("2按工号查找\n"); scanf("%d",&n); switch(n) { case1: xmcz(); break; case2: ghcz(); break; default: printf("输入错误! \n"); break; } } voidxmcz()//按姓名查找 { charname[30]; inti=0; printf("请输入要查找职工姓名: "); scanf("%s",name); system("cls"); printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n"); for(i=0;i { if(strcmp(name,wo[i].name)==0) { printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3); } } } voidghcz()//按工号查找 { charid[10]; inti=0; printf("请输入要查找职工工号: "); scanf("%s",id); system("cls"); printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n"); for(i=0;i { if(strcmp(id,wo[i].ID)==0) { printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3); } } } //删除职工信息 voiddel() { intn=0; printf("1按姓名删除\n"); printf("2按工号删除\n"); scanf("%d",&n); switch(n) { case1: xmsc(); break; case2: ghsc(); break; } } voidxmsc()//按姓名删除 { FILE*fp=NULL; charname[30]; inti=0; intj=0; printf("请输入要删除的职工姓名: "); scanf("%s",name); for(i=0;i { if(strcmp(name,wo[i].name)==0) { for(j=i;j { wo[j]=wo[j+1]; } Number--; } } //将剩余数据写入文件擦除以前的数据 fp=fopen("C: //worker.dat","wb"); for(i=0;i { fwrite(&wo[i],sizeof(structworker),1,fp); } fclose(fp); printf("删除成功;\n"); } voidghsc()//按工号删除 { FILE*fp=NULL; charid[60]; inti=0; intj=0; printf("请输入要删除的职工工号: "); scanf("%s",id); for(i=0;i { if(strcmp(id,wo[i].ID)==0) { for(j=i;j { wo[j]=wo[j+1]; } Number--; } } //将剩余数据写入文件擦除以前的数据 fp=fopen("C: //worker.dat","wb"); for(i=0;i { fwrite(&wo[i],sizeof(structworker),1,fp); } fclose(fp); printf("删除成功;\n"); } //统计职工工资 voidstatistics() { inti=0; doubles=0.0; doublesum[100]; for(i=0;i { sum[i]=wo[i].salary1+wo[i].salary2+wo[i].salary3; printf("%s的总工资为: %f\n",wo[i].name,sum[i]); } for(i=0;i { s+=sum[i]; } printf("平均工资为: %f\n",s/Number); } //修改职工信息 voidmodify() { intmode=0; printf("请选择修改查找方式\n"); printf("1按姓名查找修改\n"); printf("2按工号查找修改\n"); scanf("%d",&mode); switch(mode) { case1: xmxg(); break; case2: ghxg(); break; default: printf("输入错误! \n"); break; } } voidxmxg()//按姓名修改 { FILE*fp=NULL; charname[30]; inti=0; printf("请输入要修改的职工姓名: "); scanf("%s",name); for(i=0;i { if(strcmp(name,wo[i].name)); else break; } printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n"); printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3); printf("请重新输入该职工信息"); printf("姓名: "); scanf("%s",wo[i].name); printf("工号: "); scanf("%s",wo[i].ID); printf("基本工资: "); scanf("%d",&wo[i].salary1); printf("职务工资: "); scanf("%d",&wo[i].salary2); printf("津贴: "); scanf("%d",&wo[i].salary3); //信息修改后重新更新文件里面的数据以保持数据一致性 fp=fopen("C: //worker.dat","wb"); for(i=0;i { fwrite(&wo[i],sizeof(structworker),1,fp); } fclose(fp); } voidghxg()//按工号修改 { FILE*fp=NULL; charid[30]; inti=0; printf("请输入要修改的职工工号: "); scanf("%s",id); for(i=0;i { if(strcmp(id,wo[i].ID)); else break; } printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n"); printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3); printf("请重新输入该职工信息"); printf("姓名: "); printf("姓名: "); scanf("%s",wo[i].name); printf("工号: "); scanf("%s",wo[i].ID); printf("基本工资: "); scanf("%d",&wo[i].salary1); printf("职务工资: "); scanf("%d",&wo[i].salary2); printf("津贴: "); scanf("%d",&wo[i].salary3); //信息修改后重新更新文件里面的数据以保持数据一致性 fp=fopen("C: //worker.dat","wb"); for(i=0;i { fwrite(&wo[i],sizeof(structworker),1,fp); } fclose(fp); printf("\t=======>修改成功\n"); } //保存数据 voidreserve() { printf("\t=====程序在运行时已自动保存.....\n"); } voidback() { printf("\t===>按Enter键返回主菜单\n"); } //作者信息 voidauthor() { printf("\t***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆***\n\n"); printf("\t^^^^^^^^^^^^^^^学校名称^^^^^^^^^^^^^\n\n"); printf("\t^^^^^^^^^^^^^^学院班级^^^^^^^^^^^^^\n\n"); printf("\t^^^^^^^^^^^^^^^XXX制作^^^^^^^^^^^^^\n\n"); printf("\t***★★★★★★★★★★★★★★★★***\n\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 职工工资 管理 系统 源代码