工资管理系统C语言代码.docx
- 文档编号:25252405
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:14
- 大小:19KB
工资管理系统C语言代码.docx
《工资管理系统C语言代码.docx》由会员分享,可在线阅读,更多相关《工资管理系统C语言代码.docx(14页珍藏版)》请在冰豆网上搜索。
工资管理系统C语言代码
题目要求做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除。
同时这些信息要存储在TXT文件中…还要可以按照一定顺序输出所有员工工资的信息
#include h〉 #include #defineN100 structmygz { intyuefen; floatyfgz; floatsf; floatdf; floatsj; floatsfgz; }; structworker { intkahao; charxingming[20]; structmygzm[12]; floatzsfgz; }; intygsm; structworkera[N]; floatshuijin(floatm) { floatshui1,shui2; floattmp; shui1=0;shui2=0; if(m〉=1400) { shui1=(m—1400)*0。 1; shui2=30; } else { if(m〉=800&&m〈1400) { shui2=(m—800)*0.05; } } tmp=shui1+shui2; return(tmp); }floatshifagongzi(floata,floatb,floatc,floatd) { floate=a—b—c—d; return(e); } voidduqu() { FILE*fp; if((fp=fopen("D: 工资信息.txt”,”r”))==NULL) { printf("无法读取文件"); ;return; } while(! feof(fp)) { fread(&a[ygsm],sizeof(structworker),1,fp); ygsm++; } } voidchaxun() { intb; inti; intj; label_3: b=0; while(b! =1&&b! =2) { printf(”1,选择姓名查询。 \n2,选择卡号查询.\n"); scanf(”%d",&b); } if(b==1) { charc[20]; printf(”请输入您的姓名: \n”); scanf("%s”,c); i=0; while(! (strcmp(a[i].xingming,c)==0)&&i〈ygsm) { i++; } if(i==ygsm) { printf("您查找的名字不存在,请正确输入您的名字或用卡号查询\n”); return; } printf("%-10d%—20s\n",a[i]。 kahao,a[i]。 xingming); for(j=0;a[i]。 m[j].yuefen! =NULL;j++) { printf(”月份: %5d,应发工资: %10。 2f,水费: %7。 2f,电费: %7.2f,税金: %7.2f,实发工资: %10。 2f。 \n",a[i].m[j]。 yuefen,a[i]。 m[j].yfgz,a[i].m[j].sf,a[i].m[j]。 df,a[i].m[j].sj,a[i].m[j].sfgz); } printf(”总实发工资: %10f\n",a[i]。 zsfgz); b=0; while(b! =1&&b! =2) { printf(”1,继续查询。 \n2,返回主菜单.\n"); scanf(”%d”,&b); } if(b==1) { gotolabel_3; } else { ;return; } } else { intd=0; while(! (d>=10001&&d〈=32767)) { printf(”请输入您的卡号(五位数字),例如: 10001\n"); scanf(”%d”,&d); } i=0; while(a[i]。 kahao! =d&&i〈ygsm) { i++; } if(i==ygsm) { printf("您查找的名字不存在,请正确输入您的名字或用卡号查询\n"); return; } printf("%-10d%-20s\n",d,a[i]。 xingming); for(j=0;a[i].m[j]。 yuefen! =NULL;j++) { printf(”月份: %5d,应发工资: %10.2f,水费: %7。 2f,电费: %7。 2f,税金: %7.2f,实发工资: %10.2f.\n”,a[i].m[j].yuefen,a[i]。 m[j].yfgz,a[i].m[j].sf,a[i].m[j].df,a[i]。 m[j].sj,a[i]。 m[j]。 sfgz); } printf("总实发工资: %10f\n",a[i]。 zsfgz); b=0; while(b! =1&&b! =2) { printf(”1,继续查询.\n2,返回主菜单。 \n"); scanf("%d",&b); } if(b==1) { gotolabel_3; } else { ;return; } } } voidliulan() { structworkerx; intc; floatd; inti; intj; intk; for(i=0;i { c=a[i]。 kahao; k=i; for(j=i+1;j { if(c>a[j]。 kahao) { c=a[j].kahao; k=j; } } x=a[i]; a[i]=a[k]; a[k]=x; } for(i=0;i { printf("%-10d%-20s\n”,a[i]。 kahao,a[i].xingming); for(j=0;a[i].m[j].yuefen! =NULL;j++) { printf("月份: %5d,应发工资: %10.2f,水费: %7。 2f,电费: %7。 2f,税金: %7.2f,实发工资: %10.2f。 \n",a[i].m[j].yuefen,a[i].m[j].yfgz,a[i].m[j]。 sf,a[i].m[j]。 df,a[i].m[j].sj,a[i].m[j]。 sfgz); } printf("总实发工资: %10f\n",a[i].zsfgz); } for(i=0;i〈40;i++) { printf("\n"); } for(i=0;i { d=a[i]。 zsfgz; k=i; for(j=i+1;j〈ygsm;j++) { if(d〈a[j]。 zsfgz) { d=a[j]。 zsfgz; k=j; } } x=a[i]; a[i]=a[k]; a[k]=x; } for(i=0;i〈ygsm;i++) { printf("%-20s%—10d\n”,a[i].xingming,a[i]。 kahao); for(j=0;a[i].m[j].yuefen! =NULL;j++) { printf("月份: %5d,应发工资: %10.2f,水费: %7。 2f,电费: %7.2f,税金: %7.2f,实发工资: %10。 2f.\n",a[i].m[j]。 yuefen,a[i]。 m[j].yfgz,a[i].m[j].sf,a[i]。 m[j].df,a[i].m[j]。 sj,a[i].m[j]。 sfgz); } printf(”总实发工资: %10f\n",a[i].zsfgz); } } voidshanchu() { FILE*fp; intb; intc; inti; intj; label_4: printf(”请输入要删除信息的卡号: \n"); scanf(”%d”,&b); for(i=0;i { if(a[i]。 kahao==b) { j=i; } } for(i=j+1;i〈ygsm;i++) { a[i—1]=a[i]; } ygsm——; fp=fopen("D: 工资信息。 txt”,"w"); for(i=0;i〈ygsm;i++) { fwrite(&a[i],sizeof(structworker),1,fp); } fclose(fp); c=0; while(c! =1&&c! =2) { printf(”1。 继续删除\n2返回主菜单\n"); scanf("%d”,&c); } if(c==1) { gotolabel_4; } else { return; } } voidluru() { FILE*fp; intk; inti; intj; intb; intc; intd; if((fp=fopen("D: 工资信息.txt”,"w"))==NULL) { printf(”无法找到目标文件\n”); return; } label_1: b=0; while(! (b〉=1&&b<=12)) { printf(”请您输入您要建立的月份\n"); scanf("%d",&b); } b=b-1; d=0; while(! (d>=10001&&d〈=32767)) { printf(”请输入您要录入工资的卡号(五位数字),例如: 10001\n”); scanf("%d",&d); } for(i=0;i kahao! =d;i++); if(a[i].kahao! =d) { c=0; while(c! =1&&c! =2) { printf(”没有该卡号记录。 \n1新建\n2返回上一级\n”); scanf("%d”,&c); } if(c==2) { gotolabel_1; } if(c==1) { a[i].kahao=d; printf("请输入姓名: \n”); scanf("%s",a[i].xingming); a[i]。 m[b].yuefen=b+1; printf("请输入此人该月的应发工资: \n”); scanf(”%f",&a[i]。 m[b].yfgz); printf("请输入此人该月所用水费: \n"); scanf(”%f”,&a[i].m[b].sf); printf(”请输入此人该月所用电费\n"); scanf(”%f”,&a[i]。 m[b].df); a[i].m[b].sj=shuijin(a[i].m[b]。 yfgz); a[i]。 m[b].sfgz=shifagongzi(a[i]。 m[b]。 yfgz,a[i]。 m[b].sf,a[i]。 m[b]。 df,a[i]。 m[b]。 sj); a[i].zsfgz=0; for(k=0;k<12;k++) { a[i].zsfgz+=a[i].m[k]。 sfgz; } ygsm++; c=0; while(c! =1&&c! =2) { printf("1继续\n2返回主菜单\n”); scanf("%d",&c); } if(c==1) { gotolabel_1; } if(c==2) { gotolabel_2; } } } else { if(a[i]。 m[b]。 yuefen==b+1) { c=0; while(c! =1&&c! =2) { printf(”已有该月记录\n1覆盖原有记录\n2返回上级\n"); scanf(”%d”,&c); } if(c==1) { printf("请输入此人该月的应发工资: \n”); scanf("%d”,&a[i].m[b].yfgz); printf(”请输入此人该月所用水费: \n”); scanf("%d",&a[i].m[b]。 sf); printf(”请输入此人该月所用电费\n”); scanf(”%d”,&a[i].m[b]。 df); a[i].m[b].sj=shuijin(a[i].m[b]。 yfgz); a[i].m[b]。 sfgz=shifagongzi(a[i].m[b].yfgz,a[i].m[b]。 sf,a[i].m[b]。 df,a[i]。 m[b].sj); a[i]。 zsfgz=0; for(k=0;k〈12;k++) { a[i].zsfgz+=a[i].m[k].sfgz; } while(c! =1&&c! =2) { printf(”1继续\n2返回主菜单\n"); scanf("%d",&c); } if(c==1) { gotolabel_1; } if(c==2) { gotolabel_2; } } else { gotolabel_1; } } if(a[i]。 m[b].yuefen==NULL) { a[i]。 m[b]。 yuefen=b+1; printf(”请输入此人该月的应发工资: \n"); scanf("%f”,&a[i].m[b]。 yfgz); printf(”请输入此人该月所用水费: \n"); scanf(”%f",&a[i].m[b]。 sf); printf(”请输入此人该月所用电费\n”); scanf(”%f",&a[i]。 m[b]。 df); a[i]。 m[b].sj=shuijin(a[i]。 m[b]。 yfgz); a[i]。 m[b]。 sfgz=shifagongzi(a[i].m[b]。 yfgz,a[i].m[b]。 sf,a[i].m[b]。 df,a[i].m[b]。 sj); a[i]。 zsfgz=0; for(k=0;k<12;k++) { a[i]。 zsfgz+=a[i]。 m[k]。 sfgz; } c=0; while(c! =1&&c! =2) { printf(”1继续\n2返主主菜单\n”); scanf("%d",&c); } if(c==1) { gotolabel_1; } if(c==2) { gotolabel_2; } } c=0; while(c! =1&&c! =2) { printf(”1继续\n2返回主菜单\n"); scanf(”%d",&c); } if(c==1) { gotolabel_1; } if(c==2) { gotolabel_2; } } label_2: fp=fopen(”D: 工资信息.txt”,"r+"); for(j=0;j { fwrite(&a[i],sizeof(structworker),1,fp); } fclose(fp); } voidmain() { inta=0; duqu(); while(a! =5) { printf(”/*******************欢迎使用*********************/\n”); printf(”/*************请按菜单选项进行选择*************/\n"); printf("/*************1。 查询个人工资情况 *************/\n"); printf("/*************2.录入工资信息 *************/\n”); printf(”/*************3.删除个人工资信息 *************/\n"); printf("/*************4。 浏览员工工资信息 *************/\n”); printf(”/*************5.退出工资管理系统 *************/\n”); printf("/******************^_^^_^^_^*******************/\n”); scanf(”%d”,&a); switch(a) { case1: chaxun();break; case2: luru();break; case3: shanchu();break; case4: liulan();break; default: break; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 语言 代码