收藏 分销(赏)

工资管理系统C语言代码.doc

上传人:w****g 文档编号:3158376 上传时间:2024-06-21 格式:DOC 页数:11 大小:88.04KB
下载 相关 举报
工资管理系统C语言代码.doc_第1页
第1页 / 共11页
工资管理系统C语言代码.doc_第2页
第2页 / 共11页
工资管理系统C语言代码.doc_第3页
第3页 / 共11页
工资管理系统C语言代码.doc_第4页
第4页 / 共11页
工资管理系统C语言代码.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、题目要求 做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除。同时这些信息要存储在TXT文件中还要可以按照一定顺序输出所有员工工资的信息#include#include#define N 100struct mygz int yuefen; float yfgz; float sf; float df; float sj; float sfgz;struct worker int kahao; char xingming20; struct mygz m12; float zsfgz;int ygsm;struct worker aN;float shuij

2、in(float m)float shui1,shui2;float tmp;shui1=0;shui2=0;if(m=1400) shui1=(m-1400)*0.1; shui2=30;else if(m=800 & m1400) shui2=(m-800)*0.05; tmp=shui1+shui2;return(tmp);float shifagongzi(float a,float b,float c,float d) float e=a-b-c-d; return(e);void duqu() FILE *fp; if(fp=fopen(D:工资信息.txt,r)=NULL) pr

3、intf(无法读取文件); ;return; while(!feof(fp) fread(&aygsm,sizeof(struct worker),1,fp); ygsm+; void chaxun() int b; int i; int j; label_3: b=0; while(b!=1&b!=2) printf(1,选择姓名查询.n2,选择卡号查询.n); scanf(%d,&b); if(b=1) char c20; printf(请输入您的姓名:n); scanf(%s,c); i=0; while(!(strcmp(ai.xingming,c)=0)&i=10001&d=3276

4、7) printf(请输入您的卡号(五位数字),例如:10001n); scanf(%d,&d); i=0; while(ai.kahao!=d&iygsm) i+; if(i=ygsm) printf(您查找的名字不存在,请正确输入您的名字或用卡号查询n); return; printf(%-10d %-20s n,d,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf(月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai.mj.yuefen,ai.mj.yfgz,ai

5、.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf(总实发工资:%10fn,ai.zsfgz); b=0; while(b!=1&b!=2) printf(1,继续查询.n2,返回主菜单.n); scanf(%d,&b); if(b=1) goto label_3; else ;return; void liulan() struct worker x; int c; float d; int i; int j; int k; for(i=0;iygsm;i+) c=ai.kahao; k=i; for(j=i+1;jaj.kahao) c=aj.kaha

6、o; k=j; x=ai; ai=ak; ak=x; for(i=0;iygsm;i+) printf(%-10d %-20s n,ai.kahao,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf(月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai.mj.yuefen,ai.mj.yfgz,ai.mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf(总实发工资:%10fn,ai.zsfgz); for(i=0;i40;i+) pri

7、ntf(n); for(i=0;iygsm;i+) d=ai.zsfgz; k=i; for(j=i+1;jygsm;j+) if(daj.zsfgz) d=aj.zsfgz; k=j; x=ai; ai=ak; ak=x; for(i=0;iygsm;i+) printf(%-20s %-10d n,ai.xingming,ai.kahao); for(j=0;ai.mj.yuefen!=NULL;j+) printf(月份:%5d,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai.mj.yuefen,ai.mj.yfgz,ai.

8、mj.sf,ai.mj.df,ai.mj.sj,ai.mj.sfgz); printf(总实发工资:%10fn,ai.zsfgz); void shanchu() FILE *fp; int b; int c; int i; int j; label_4: printf(请输入要删除信息的卡号:n); scanf(%d,&b); for(i=0;iygsm;i+) if(ai.kahao=b) j=i; for(i=j+1;iygsm;i+) ai-1=ai; ygsm-; fp=fopen(D:工资信息.txt,w); for(i=0;i=1&b=10001&d=32767) printf(

9、请输入您要录入工资的卡号(五位数字),例如:10001n); scanf(%d,&d); for(i=0;iygsm&ai.kahao!=d;i+); if(ai.kahao!=d) c=0; while(c!=1&c!=2) printf(没有该卡号记录.n1 新建n2 返回上一级n); scanf(%d,&c); if(c=2) goto label_1; if(c=1) ai.kahao=d; printf(请输入姓名:n); scanf(%s,ai.xingming); ai.mb.yuefen=b+1; printf(请输入此人该月的应发工资:n); scanf(%f,&ai.mb.

10、yfgz); printf(请输入此人该月所用水费:n); scanf(%f,&ai.mb.sf); printf(请输入此人该月所用电费n); scanf(%f,&ai.mb.df); ai.mb.sj=shuijin(ai.mb.yfgz); ai.mb.sfgz=shifagongzi(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k12;k+) ai.zsfgz+=ai.mk.sfgz; ygsm+; c=0; while(c!=1 & c!=2) printf(1 继续n2 返回主菜单n); scanf(%d,

11、&c); if(c=1) goto label_1; if(c=2) goto label_2; else if(ai.mb.yuefen=b+1) c=0; while(c!=1 & c!=2) printf(已有该月记录n1 覆盖原有记录n2 返回上级n); scanf(%d,&c); if(c=1) printf(请输入此人该月的应发工资:n); scanf(%d,&ai.mb.yfgz); printf(请输入此人该月所用水费:n); scanf(%d,&ai.mb.sf); printf(请输入此人该月所用电费n); scanf(%d,&ai.mb.df); ai.mb.sj=shu

12、ijin(ai.mb.yfgz); ai.mb.sfgz=shifagongzi(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k12;k+) ai.zsfgz+=ai.mk.sfgz; while(c!=1 & c!=2) printf(1 继续n2 返回主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; else goto label_1; if(ai.mb.yuefen=NULL) ai.mb.yuefen=b+1; printf(请输入

13、此人该月的应发工资:n); scanf(%f,&ai.mb.yfgz); printf(请输入此人该月所用水费:n); scanf(%f,&ai.mb.sf); printf(请输入此人该月所用电费n); scanf(%f,&ai.mb.df); ai.mb.sj=shuijin(ai.mb.yfgz); ai.mb.sfgz=shifagongzi(ai.mb.yfgz,ai.mb.sf,ai.mb.df,ai.mb.sj); ai.zsfgz=0; for(k=0;k12;k+) ai.zsfgz+=ai.mk.sfgz; c=0; while(c!=1 & c!=2) printf(1

14、继续n2 返主主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; c=0; while(c!=1 & c!=2) printf(1 继续n2返回主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; label_2: fp=fopen(D:工资信息.txt,r+); for(j=0;jygsm;j+); fwrite(&ai,sizeof(struct worker),1,fp); fclose(fp); void main() int a=0

15、; 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) case 1:chaxun();break; case 2:luru();break; case 3:shan

16、chu();break; case 4:liulan();break; default :break; 5771001803090012095 5790368228596330825771001803090012386 5761373997357606965771001803090013594 5780775799025155125771001803090012387 5771649826018180515771001803090012138 5721311921589183265771001803090012359 5790368223610760535771001803090012356

17、5761352861437917425771001803090012355 57508786970469327917088100343355274 10122994432583337917088100343355275 10186673293883200817088100343356107 10158115250150052217088100343356108 10100018005987173217088100343354295 10107419414268701717088100343356184 10187866086962880217088100343356185 10177583117408667417088100343356109 10108601437357284617088100343356110 10115220721601491617088100343355237 10102704160570270917088100343355238 10122936486142541417088100343356169 10186220440263571817088100343354928 101760654089788804

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服