C++职工工资管理源代码_第1页
C++职工工资管理源代码_第2页
C++职工工资管理源代码_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、附录源程序#i nclude <stdio.h>#i nclude <stdlib.h>#in elude <stri ng.h>struct workerchar n ame30;char ID10;int salary1,salary2,salary3;int dq(struct worker wo);void show();void bc(struct worker wo);void add();void see();void search();void ghcz();void xmcz();void del();void xmsc();void gh

2、sc();void statistics。;void modify。;void ghxg();void xmxg();void reserve。;void back();void author();struct worker wo100; /保存所有的职工信息int Number=0; /记录总的职工人数void mai n()int choose=0;while(true)show();prin tf("tt=>请选择:”);sca nf("%d",&choose);system("cls");switch(choose)cas

3、e 0: exit(O);/ 退出break;case 1: add();back();添加职工信息break;case 2: see();back();查看职工信息break;case 3: search();back();查找职工信息break;case 4: del();back();删除职工信息break;case 5: statistics。; back();/统计职工工资 break;case 6: modify。;back();/修改职工信息 break;case 7:reserve();back();/保存数据 break;case 8:author();back();作者信息

4、break;default:break;fflush(stdi n);getchar();system("cls");int dq(struct worker wo)FILE *fp=NULL;int i=0;fp=fope n( "C:/worker.dat","rb");while(fread(&woi,sizeof(struct worker),1,fp) i+;fclose(fp);return i;prin tf("t*n");prin t("tAAAAAAAAAAAAAAA1添加职丄信

5、息AAAAAAAAAAAAAAAAA门")prin tf("tAAAAAAAAAAAAAAA2查看职工信息AAAAAAAAAAAAAAAAAn")卩命 tf("tAAAAAAAAAAAAAAA3查找职丄信息AAAAAAAAAAAAAAAAA门")卩命 tf("tAAAAAAAAAAAAAAA4删除职工信息AAAAAAAAAAAAAAAAA门")卩命 tf("tAAAAAAAAAAAAAAA5统计职工工资AAAAAAAAAAAAAAAAA门")卩命 tf("tAAAAAAAAAAAAAAA6修改职

6、工信息AAAAAAAAAAAAAAAAA门")卩命 tf("tAAAAAAAAAAAAAAA7保存 数据 AAAAAAAAAAAAAAAAAn");卩命 tf("tAAAAAAAAAAAAAAA8作者信 息 AAAAAAAAAAAAAAAAA门")卩命 tf("tAAAAAAAAAAAAAAA0退 出 系统 AAAAAAAAAAAAAAAAAnn");prin tf("t*;void show()prin tf("n");prin tf("t*职工工资管理系统*nn");vo

7、id bc(struct worker *wo)FILE *fp=NULL;fp=fope n( "C:/worker.dat","ab+");fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);/添加职工信息void add()int nu mberTemp=O;int i=0;struct worker temp;printf(”请输入要添加职工个数:");sca nf("%d",&nu mberTemp);for(i=0;i< nu mberTemp;i+)p

8、rintf("输入第%d个职工信息n",i+1);printf("姓名:");sca nf("%s",temp .n ame);printf("工号:");sca nf("%s",tempD);printf("基本工资:");sca nf("%d", &temp.salary1);printf("职务工资:");sca nf("%d", &temp.salary2);printf("津贴:&

9、quot;);sea nf("%d", &temp.salary3);woNumber+=temp; /写入到数组be(& temp); /写入到文件printf("添加成功 n");/查看职工信息void see()int i=0;printf("以下是全部职工n”);printf("t姓名t工号t基本工资t职务工资t津贴n");while(i<Number)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.

10、salary2,woi.salary3);i+;/查找职工信息void seareh()int n=0;printf("1按姓名查找n");printf("2按工号查找n");sea nf("%d",&n);switch( n)case 1: xmcz();break;case 2: ghcz();break;default: printf("输入错误!n");break;void xmcz()按姓名查找char n ame30;int i=0;printf(”请输入要查找职工姓名:”);sca nf(&q

11、uot;%s", name);system("cls");printf("t姓名t工号t基本工资t职务工资t津贴n");for (i=O;i<Number;i+) if (strcmp( name,woi. name)=0)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);void ghcz() 按工号查找char id10;int i=0;printf(”请输入要查找职工工号:”);sca nf(&qu

12、ot;%s",id);system("cls");printf("t姓名t工号t基本工资t职务工资t津贴n");for (i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);/删除职工信息void del()int n=0;printf("1按姓名删除n");printf("2按工号删除n"

13、;);sca nf("%d",&n);switch( n)case 1: xmsc();break;case 2: ghsc();break;void xmsc()/ 按姓名删除FILE *fp=NULL;char n ame30;int i=0;int j=0;printf(”请输入要删除的职工姓名:”);sca nf("%s", name);for(i=0;i<Number;i+)if (strcmp( name,woi. name)=O)for (j=i;j<Number-1;j+)wo j=wo j+1;Number-;/将剩

14、余数据写入文件擦除以前的数据 fp=fope n("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf("删除成功;n");void ghsc()按工号删除FILE *fp=NULL;char id60;int i=0;int j=0;printf(”请输入要删除的职工工号:");sca nf("%s",id);for(i=0;i<Numb

15、er;i+)if (strcmp(id,woi.ID)=0)for (j=i;j<Number-1;j+)wo j=woj+1;Number-;/将剩余数据写入文件擦除以前的数据fp=fope n("C:/worker.dat","wb");for (i=O;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf("删除成功;n");/统计职工工资void statistics()int i=0;double s=0.0;doubl

16、e sum100;for(i=0;i<Number;i+)sumi=woi.salary1+woi.salary2+woi.salary3;prin tf("%s的总工资为:%fn",woi. name,sumi);for(i=0;i<Number;i+)s+=sumi;printf("平均工资为:%fn”,s/Number);/修改职工信息void modify。int mode=0;printf(”请选择修改查找方式n");printf("1按姓名查找修改n");printf("2按工号查找修改n"

17、);sca nf("%d",&mode);switch(mode)case 1: xmxg();break;case 2: ghxg();break;default: printf("输入错误!n");break;void xmxg()按姓名修改FILE *fp=NULL;char n ame30;int i=0;printf(”请输入要修改的职工姓名:");sca nf("%s", name);for (i=O;i<Number;i+)if (strcmp( name,woi. name);elsebreak

18、;printf("t姓名t工号t基本工资t职务工资t津贴n");prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(”请重新输入该职工信息");printf("姓名:");sca nf("%s",woi. name);printf(” 工号:”);sea nf("%s",woi.ID);printf("基本工资:");sea nf(&quo

19、t;%d",&woi.salary1);printf("职务工资:");sea nf("%d",&woi.salary2);printf("津贴:");sea nf("%d",&woi.salary3);以保持数据一致性/信息修改后重新更新文件里面的数据fp=fope n("C:/worker.dat","wb");for (i=O;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,

20、fp);fclose(fp);void ghxg()按工号修改FILE *fp=NULL;char id30;int i=0;printf(”请输入要修改的职工工号:”);sea nf("%s",id);for (i=O;i<Number;i+)if (strcmp(id,woi.ID);elsebreak;printf("t姓名t工号t基本工资t职务工资t津贴n");prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(”请重新输入该职工信息");printf("姓名:");printf("姓名:");sca nf("%s",woi. name);printf("工号:");sca nf("%s",woi.ID);printf("基本工资:");sca nf("%d"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论