C语言实训职工工资管理系统_第1页
C语言实训职工工资管理系统_第2页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

1、设计人:_ 蔡晓春_扌指导老师:_ 周杨萍_时 间:第 1313 周(2011.11.28 2011.12.2)、实训目的C语言程序设计实训是C语言程序设计课程教学的重要组成部分。本课程通过提供学 生一个实训练习的机会,巩固、提高学生的基本编程能力,同时通过训练编写综合程序的方 式,提高学生分析问题和解决问题的能力,为后续课程的学习打下良好的基础。、实训题目和程序清单(包括程序运行截图界面)(一)实训题目:职工工资管理系统。参考运行界面如下:具体要求:出现上述界面后,用户可以通过输入1-6 之间的数字完成所提示的功能。循环往复,直到输入 7,退出系统。本系统具有职工的工资基本信息(职工号、姓名

2、、应发工资、奖金、水电费、公积金、医疗保险、扣款合计、实发工资),能够根据需要追加、查询、修改、删除、统计并浏览职 工的工资信息。具体功能如下:1.初始化信息(职工信息的输入,包括职工号、姓名、应发工资、奖金、水电费、公 积金、医疗保险);2追加职工信息(继续添加职工的信息,要求职工号不重复);3根据职工号查询(完成按职工号查询指定职工的工资信息);4.根据职工号修改(完成按职工号修改指定职工的工资信息);5.根据职工号删除(完成按职工号删除指定职工的工资信息);6.统计并浏览(完成扣款合计和实发工资的统计,并显示所有职工的工资信息);7.退出(退出系统)。(提示:在使用字符界面的菜单编程时,

3、需要清屏,可以使用system(cls) 函数将屏幕清屏。需要退出系统时,可以使用 exit(0)函数退出。需要暂停程序的执行时,可以使用 system(pause)函数暂停。使用这些函数时应包含stdlib.h系统函数头文件。)(二)程序清单:#include /输入输出函数头文字#include /系统函数头文件#include /字符串函数头文件 #define N 100/定义常量 n 的值为struct worker/定义结构体/* 对第一位进行初始化 */work1.zgh=001; strcpy(work1.xm, aa ); work1.yfgz=1000;work1.jj=5

4、00; work1.sdf=200; work1.gjj=100; work1.ylbx=98;work1.kkhj=work1.sdf+work1.gjj+work1.ylbx;work1.sfgz=work1.yfgz+work1.jj-work1.kkhj;/* 对第二位进行初始化 */work2.zgh=002; strcpy(work2.xm, bb ); work2.yfgz=2000;work2.jj=300; work2.sdf=200; work2.gjj=100; work2.ylbx=90;work2.kkhj=work2.sdf+work2.gjj+work2.ylbx

5、;work2.sfgz=work2.yfgz+work2.jj-work2.kkhj; /* 对第三位进行初始化 */ work3.zgh=003;strcpy(work3.xm, cc ); work3.yfgz=1000;work3.jj=500; work3.sdf=200; work3.gjj=100; work3.ylbx=98;work3.kkhj=work3.sdf+work3.gjj+work3.ylbx;work3.sfgz=work3.yfgz+work3.jj-work3.kkhj;char xm10;floatyfgz;floatjj;float sdf;floatgj

6、j;floatylbx;floatkkhj;floatsfgz;workN;int zgh;int count=1; / 计数void csh()*初始化信息*/* 对第四位进行初始化 */ work4.zgh=004; strcpy(work4.xm,dd ); work4.yfgz=1000; work4.jj=500;work4.sdf=200; work4.gjj=100;work4.ylbx=98;work4.kkhj=work4.sdf+work4.gjj+work4.ylbx;work4.sfgz=work4.yfgz+work4.jj-work4.kkhj;count=5;sy

7、stem( pause );system( cls );printf(请输入第(个职工信息n ,count); printf( 输入职工号 :n );scanf( %d,&workcount.zgh); printf( 输入姓名 :n );scanf( %s,workcount.xm); printf( 输入应发工资 :n );scanf( %f ,&workcount.yfgz); printf( 输入奖金 :n );scanf( %f ,&workcount.jj); printf( 输入水电费 :n );scanf( %f ,&workcount.sdf)

8、; printf(输入公积金 :n );scanf( %f ,&workcount.gjj); printf( 输入医疗保险 :n );scanf( %f ,&workcount.ylbx);workcount.kkhj=workcount.sdf+workcount.gjj+workcount.ylbx;workcount.sfgz=workcount.yfgz+workcount.jj-workcount.kkhj;count+;printf( 还需要再添加吗 ?(Y/N)n );scanf( n%c ,&i);if (i= y | i=Y )zjxx();else

9、return ;system( pause );printf( .初始化成功 .n);void zjxx()char i;*追加职工信息*int i,zgh;printf( 请输入要查询的职工号 n );scanf( %d,&zgh);for (i=1;i=count;i+)if (worki.zgh=zgh) break ;if (i=count)printf( . 职工的所有信息. n );printf(职工号:dn 姓名:sn 应发工资:.2fn 奖金:.2fn 水电费:.2fn 公积金:%.2fn 医疗保险:%.2fn 扣款合计:%.2fn 实发工资:%.2fn,worki.z

10、gh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj,worki.ylbx,worki.kkhj,worki.sfgz);elseprintf( sorry,mei you ci ren );system( pause );int i,zgh;printf( 请输入要修改的职工号 n );scanf( %d,&zgh);for (i=1;i=count;i+)if (worki.zgh=zgh) break ;if (i=count)printf( . 职工的所有信息.n);printf(职工号:%dn 姓名:%sn 应发工资:%.2f

11、n 奖金:%.2fn 水电费:.2fn 公积金:%.2fn 医疗保险:%.2fn 扣款合计:%.2fn 实发工资:%.2fn,worki.zgh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj,worki.ylbx,worki.kkhj,worki.sfgz);elsevoid cx()*根据职工号查询*void xg()*根据职工号修改*printf( sorry,mei you ci renprintf( 请重新输入姓名 );scanf( %s ,&worki.xm);printf( 请重新输入应发工资 :n ); scanf( %

12、f ,&worki.yfgz);printf( 请重新输入奖金 :n ); scanf( %f ,&worki.jj);printf( 请重新输入水电费 :n ); scanf( %f ,&worki.sdf);printf( 请重新输入公积金 :n ); scanf( %f ,&worki.gjj);printf( 请重新输入医疗保险 :n ); scanf( %f ,&worki.ylbx);int i,zgh;char s;printf( 请输入要删除的员工所在的职工号 );scanf( %d,&zgh); for (i=1;i=count

13、;i+)if (worki.zgh=zgh) break ;if (i=count)printf( . 职工的所有信息. n );printf (职工号:dn 姓名:sn 应发工资: .2fn 奖金:.2fn 水电费: .2fn 公积金 :%.2fn 医疗保险 :%.2fn 扣款合计 :%.2fn 实发工资 :%.2fn ,worki.zgh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj,worki.ylbx,worki.kkhj,worki.sfgz);printf(确定要删除吗?请输入 Y/N 确认n);setbuf(stdin,NULL

14、); / 清除输入缓冲区数据(回车) scanf( %c,&s);if (s=Y |s= y )for (i=0;i=count;i+)worki.zgh=worki+1.zgh; strcpy( worki.xm, worki+1.xm);worki.yfgz=worki+1.yfgz;);void sc()*号删除 *IIfloat yfgz=0,jj=0,sdf=0,gjj=0,ylbx=0,kkhj=0,sfgz=0;system( cls );printf( 职工号 姓名 应发工资 奖金 水电费 公积金 医疗保险扣款合计 实发工资 n );printf( -n );for (

15、i=1;i=count;i+)printf( %d %s %.2f %.2f %.2f %.2f %.2f %.2f %.2fn ,worki.zgh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj,worki.ylbx,worki.kkhj,worki.sfgz);printf(-n );worki.jj=worki+1.jj; worki.sdf=worki+1.sdf; worki.gjj=worki+1.gjj;worki.ylbx=worki+1.ylbx; worki.kkhj=worki+1.kkhj; worki.sfgz=wo

16、rki+1.sfgz;worki.zgh=0 ;strcpy(worki.xm, 0 ); worki.yfgz=0;worki.jj=0;worki.sdf=0;worki.gjj=0;worki.ylbx=0;worki.kkhj=0;worki.sfgz=0;count-;printf( 所选信息已删除 );elseprintf( sorry! mei you ci ren );void tjll()/ *inti;统计浏览*system( pause );II);yfgz=yfgz+worki.yfgz;jj=jj+worki.jj;sdf=sdf+worki.sdf;gjj=gjj+

17、worki.gjj;ylbx=ylbx+worki.ylbx;while (1);sfgz=yfgz+jj-kkhj;printf( 汇总:职工人数 %dn,count-1)printf(II应发工资 %.2fn ,yfgz);printf(II奖 金 %.2fn ,jj);printf(II水电费 %.2fn ,sdf);printf(II公积金 %.2fn ,gjj);printf(II医疗保险 %.2fn ,ylbx);printf(II-nprintf(II扣款合计 %.2fn ,kkhj);printf( system(IIpause );实发工资 %.2fn ,sfgz);kkhj

18、=sdf+gjj+ylbx;);/*printf(H*职工工资管理系统制作人: *n );printf(II1-初始化信息n );printf(II2-追加职工信息n );printf(II3-根据职工号查询n );printf(II4-根据职工号修改n );printf(II5-根据职工号删除n );printf(II6-统计并浏览n );printf(II7-退出 n);printf(*n);printf(II输入您的选择( -7 ): );scanf(%d,&xz);switch(xz) case1:csh();break ;/ 执行子函数 csh( 完成初始化功能 )case 2:zjxx();break ;/

温馨提示

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

最新文档

评论

0/150

提交评论