c语言编写的 工资管理系统.doc_第1页
c语言编写的 工资管理系统.doc_第2页
c语言编写的 工资管理系统.doc_第3页
c语言编写的 工资管理系统.doc_第4页
c语言编写的 工资管理系统.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

/*程序名称:工资管理系统 */*程序说明: 该系统在磁盘上储存了某单位上月全体员工的工资信息,对于每一位职工存储以下信息:月份,职工编号,基本工资,津贴,岗贴,补贴,房贴,交通补贴,应发数,房租,储蓄,会费,个人所得税,应扣数,实发数。 个人所得税计算方法设定为:工资少于800元为0,800-1000元的部分为5%,1000-5000元的部分为10%,5000元以上的部分为20%。该系统功能如下:1)创建存储职工工资信息的存储系统。2)添加职工的工资信息(增加新职工时用)3)删除某职工的工资信息(职工离职或者死亡时用)4)修改某职工的部分工资信息(当月开始增加或减少某些项工资或扣款数变化)5)输出指定编号职工的工资信息(查询用)6)输出当月全体职工的工资信息(发工资用) */*编写心得:2006年9月26日19:30-23:00共计3小时30分钟。由于时间仓促,没有对代码进行优化设计。对于主要的结构体也是粗粗设计了一下。在存储上只采用了结构体数组,没用运用到二叉树等复杂的数据结构,有点遗憾。主程序采用模块化设计,用独立的函数把功能分解开来,便于调试和扩展。假如用C+就可以多做几个构造函数,可能会更方便点。不过最近在学JAVA,不敢乱用C+了,怕到时候知识搞混了。感觉稍微麻烦一点的地方是文件的输入输出部分,因为一般的书上这一章都比较靠后,老师上课也就简单的带过的,格式有点忘记了。个人感觉现在靠C语言来做数据库不是很合适,50个元素的数组应该够了吧。反正只要弄清那些常用函数,还有怎么一个I/O方式就可以了。让偶想起了教偶C语言的班主任老童,想起了偶美好的青春,以及那些为了听课和MM们一大早抢前排坐位的幸福日子.总得来说还是比较轻松的,就是项目字段太多,写写麻烦(谁叫偶打字不快啊_)BY 雨田心梦*/* 为了调用FILE等函数 */#include stdio.h#include conio.h/* 为了调用atof()等函数 */#include stdlib.h#define TRUE 1/* 结构体声明 */struct zhigongint month;float id;float jbgz;float jt;float gt;float bt;float ft;float jtbt;float yfs;float fz;float cx;float hf;float grsds;float yks;float sfs;/* 建立50个元素的结构体数组 */struct zhigong zg50;/* 建立结构体变量 */struct zhigong zgone;/* 职员列表中的数量 */int n=0;/* 获得字符串 */char numstr50;main() char ch; n=0; /*rfile(); 使用后启动程序时系统会自动加载纪录*/ while(TRUE) printf(n); printf(=n); printf(Welcome!Please choice(1-6) : +n); printf(1.Add one infomation +n); printf(2.Delete one infomation +n); printf(3.Modify one infomation +n); printf(4.Print out by id +n); printf(5.Print out all +n); printf(6.Save date +n); printf(7.Load date +n); printf(8.Exit +n); printf(=n); ch=getche(); switch(ch) case 1:addone();break; case 2:delone();break; case 3:modone();break; case 4:idone();break; case 5:listall();break; case 6:wfile();break; case 7:rfile();break; case 8:return; default:printf(Sorry,please choice again!n); /*计算个人所得税*/float tgrsds(float m)float sui1,sui2,sui3;float tmp;sui1=0;sui2=0;sui3=0;if(m=5000) sui1=(m-5000)*0.2; sui2=(5000-1000)*0.1; sui3=(1000-800)*0.05; else if(m=1000 & m=800 & m1000) sui3=(m-800)*0.05; tmp=sui1+sui2+sui3;return(tmp);/* 添加职工的工资信息 */addone(void)printf(n);printf(Record NO. %d n,n+1);printf(Please put in month: n);gets(numstr);zgn.month=atoi(numstr);printf(Please put in zhigongbianhao: n);gets(numstr);zgn.id=atof(numstr);printf(Please put in jibengongzi: n);gets(numstr);zgn.jbgz=atof(numstr);printf(Please put in jintie: n);gets(numstr);zgn.jt=atof(numstr);printf(Please put in gangtie: n);gets(numstr);zgn.gt=atof(numstr);printf(Please put in butie: n);gets(numstr);zgn.bt=atof(numstr);printf(Please put in fangtie: n);gets(numstr);zgn.ft=atof(numstr);printf(Please put in jiaotongbutie: n);gets(numstr);zgn.jtbt=atof(numstr);zgn.yfs=(zgn.jbgz)+(zgn.jt)+(zgn.gt)+(zgn.bt)+(zgn.ft)+(zgn.jtbt);printf(Please put in fangzu: n);gets(numstr);zgn.fz=atof(numstr);printf(Please put in chuxu: n);gets(numstr);zgn.cx=atof(numstr);printf(Please put in huifei: n);gets(numstr);zgn.hf=atof(numstr);zgn.grsds=tgrsds(zgn.yfs);zgn.yks=(zgn.fz)+(zgn.cx)+(zgn.hf)+(zgn.grsds);zgn.sfs=(zgn.yfs)-(zgn.yks);n+;/*删除个人纪录*/delone(void)struct zhigong tmp50;float zhigongid;int j,k;int flagfind;flagfind=0;k=0;printf(n Please put in zhigongbianhao: n);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid) flagfind=1; else tmpk=zgj; k+; if(flagfind=1) for(j=0;j=(n-1);j+) zgj=tmpj; printf(n Record deleted! n); n=n-1; else printf(n Record not found! n); return;/*修改个人纪录*/modone(void)float zhigongid;int j;int flagfind;flagfind=0;printf(n Please put in zhigongbianhao: n);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid) printf(NO.:%dn,j); printf(month:%dn,zgj.month); printf(zhigongbianhao%10.0fn,zgj.id); printf(jibengongzi:%10.2fn,zgj.jbgz); printf(Please put in jibengongzi: n); gets(numstr); zgj.jbgz=atof(numstr); printf(jintie:%10.2fn,zgj.jt); printf(Please put in jintie: n); gets(numstr); zgj.jt=atof(numstr); printf(gangtie:%10.2fn,zgj.gt); printf(Please put in gangtie: n); gets(numstr); zgj.gt=atof(numstr); printf(butie:%10.2fn,zgj.bt); printf(Please put in butie: n); gets(numstr); zgj.bt=atof(numstr); printf(fangtie:%10.2fn,zgj.ft); printf(Please put in fangtie: n); gets(numstr); zgj.ft=atof(numstr); printf(jiaotongbutie:%10.2fn,zgj.jtbt); printf(Please put in jiaotongbutie: n); gets(numstr); zgj.jtbt=atof(numstr); zgj.yfs=(zgj.jbgz)+(zgj.jt)+(zgj.gt)+(zgj.bt)+(zgj.ft)+(zgj.jtbt); printf(fangzu:%10.2fn,zgj.fz); printf(Please put in fangzu: n); gets(numstr); zgj.fz=atof(numstr); printf(chuxu:%10.2fn,zgj.cx); printf(Please put in chuxu: n); gets(numstr); zgj.cx=atof(numstr); printf(huifei:%10.2fn,zgj.hf); printf(Please put in huifei: n); gets(numstr); zgj.hf=atof(numstr); zgj.grsds=tgrsds(zgj.yfs); zgj.yks=(zgj.fz)+(zgj.cx)+(zgj.hf)+(zgj.grsds); zgj.sfs=(zgj.yfs)-(zgj.yks); flagfind=1; else flagfind=0; if(flagfind=0)printf(n Can not find record! n); return;/*随机从内存中查找纪录根据id*/idone(void)float zhigongid;int j;int flagfind;flagfind=0;printf(n Please put in zhigongbianhao: n);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid) printf(n %d record found! n |,j+1); printf(month:%d |,zgj.month); printf(zhigongbianhao%10.0f |,zgj.id); printf(jibengongzi:%10.2f |,zgj.jbgz); printf(jintie:%10.2f |,zgj.jt); printf(gangtie:%10.2f |,zgj.gt); printf(butie:%10.2f |,zgj.bt); printf(fangtie:%10.2f |,zgj.ft); printf(jiaotongbutie:%10.2f |,zgj.jtbt); printf(yingfashu:%10.2f |,zgj.yfs); printf(fangzu:%10.2f |,zgj.fz); printf(chuxu:%10.2f |,zgj.cx); printf(huifei:%10.2f |,zgj.hf); printf(gerensuodeshui:%10.2f |,zgj.grsds); printf(yingkoushu:%10.2f |,zgj.yks); printf(shifashu:%10.2fn,zgj.sfs); flagfind=1; else flagfind=0; if(flagfind=0)printf(n Can not find record! n); return;/* 输出当月全体职工的工资信息 */listall(void)int j;if(n1) printf(n No record! n); else for(j=0;jn;j+) printf(n NO:%d |,j+1); printf(month:%d |,zgj.month); printf(zhigongbianhao%10.0f |,zgj.id); printf(jibengongzi:%10.2f |,zgj.jbgz); printf(jintie:%10.2f |,zgj.jt); printf(gangtie:%10.2f |,zgj.gt); printf(butie:%10.2f |,zgj.bt); printf(fangtie:%10.2f |,zgj.ft); printf(jiaotongbutie:%10.2f |,zgj.jtbt); printf(yingfashu:%10.2f |,zgj.yfs); printf(fangzu:%10.2f |,zgj.fz); printf(chuxu:%10.2f |,zgj.cx); printf(hui

温馨提示

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

评论

0/150

提交评论