职工工资管理系统Word文档下载推荐.docx
《职工工资管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《职工工资管理系统Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
pause"
)函数暂停。
使用这些函数时应包含"
stdlib.h"
系统函数头文件。
)
(二)
程序清单:
#include<
stdio.h>
//输入输出函数头文字
stdlib.H>
//系统函数头文件
string.h>
//字符串函数头文件
#defineN100//定义常量n的值为
structworker//定义结构体
{
intzgh;
charxm[10];
floatyfgz;
floatjj;
floatsdf;
floatgjj;
floatylbx;
floatkkhj;
floatsfgz;
}work[N];
intcount=1;
//计数
voidcsh()//***************初始化信息***************
/*对第一位进行初始化*/
work[1].zgh=001;
strcpy(work[1].xm,"
aa"
);
work[1].yfgz=1000;
work[1].jj=500;
work[1].sdf=200;
work[1].gjj=100;
work[1].ylbx=98;
work[1].kkhj=work[1].sdf+work[1].gjj+work[1].ylbx;
work[1].sfgz=work[1].yfgz+work[1].jj-work[1].kkhj;
/****对第二位进行初始化****/
work[2].zgh=002;
strcpy(work[2].xm,"
bb"
work[2].yfgz=2000;
work[2].jj=300;
work[2].sdf=200;
work[2].gjj=100;
work[2].ylbx=90;
work[2].kkhj=work[2].sdf+work[2].gjj+work[2].ylbx;
work[2].sfgz=work[2].yfgz+work[2].jj-work[2].kkhj;
/****对第三位进行初始化****/
work[3].zgh=003;
strcpy(work[3].xm,"
cc"
work[3].yfgz=1000;
work[3].jj=500;
work[3].sdf=200;
work[3].gjj=100;
work[3].ylbx=98;
work[3].kkhj=work[3].sdf+work[3].gjj+work[3].ylbx;
work[3].sfgz=work[3].yfgz+work[3].jj-work[3].kkhj;
/****对第四位进行初始化****/
work[4].zgh=004;
strcpy(work[4].xm,"
dd"
work[4].yfgz=1000;
work[4].jj=500;
work[4].sdf=200;
work[4].gjj=100;
work[4].ylbx=98;
work[4].kkhj=work[4].sdf+work[4].gjj+work[4].ylbx;
work[4].sfgz=work[4].yfgz+work[4].jj-work[4].kkhj;
count=5;
printf("
..................初始化成功....................\n"
system("
}
voidzjxx()//***************追加职工信息***************
chari;
请输入第%d个职工信息\n"
count);
输入职工号:
\n"
scanf("
%d"
&
work[count].zgh);
输入姓名:
%s"
work[count].xm);
输入应发工资:
%f"
work[count].yfgz);
输入奖金:
work[count].jj);
输入水电费:
work[count].sdf);
输入公积金:
work[count].gjj);
输入医疗保险:
work[count].ylbx);
work[count].kkhj=work[count].sdf+work[count].gjj+work[count].ylbx;
work[count].sfgz=work[count].yfgz+work[count].jj-work[count].kkhj;
count++;
还需要再添加吗?
(Y/N)\n"
\n%c"
i);
if(i=='
y'
||i=='
Y'
)
zjxx();
else
return;
voidcx()//***************根据职工号查询***************
inti,zgh;
请输入要查询的职工号\n"
zgh);
for(i=1;
i<
=count;
i++)
{
if(work[i].zgh==zgh)break;
}
if(i<
=count)
{
printf("
....................职工的所有信息...........................\n"
职工号:
%d\n姓名:
%s\n应发工资:
%.2f\n奖金:
%.2f\n水电费:
%.2f\n公积金:
%.2f\n医疗保险:
%.2f\n扣款合计:
%.2f\n实发工资:
%.2f\n"
work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,
work[i].ylbx,work[i].kkhj,work[i].sfgz);
}
else
printf("
sorry,meiyouciren"
system("
voidxg()//***************根据职工号修改***************
请输入要修改的职工号\n"
请重新输入姓名"
scanf("
work[i].xm);
请重新输入应发工资:
work[i].yfgz);
请重新输入奖金:
work[i].jj);
请重新输入水电费:
work[i].sdf);
请重新输入公积金:
work[i].gjj);
请重新输入医疗保险:
work[i].ylbx);
voidsc()//***************根据职工号删除***************
chars;
请输入要删除的员工所在的职工号"
=count)
work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,
work[i].ylbx,work[i].kkhj,work[i].sfgz);
确定要删除吗?
请输入Y/N确认\n"
setbuf(stdin,NULL);
//清除输入缓冲区数据(回车)
%c"
s);
if(s=='
||s=='
for(i=0;
{
work[i].zgh=work[i+1].zgh;
strcpy(work[i].xm,work[i+1].xm);
work[i].yfgz=work[i+1].yfgz;
work[i].jj=work[i+1].jj;
work[i].sdf=work[i+1].sdf;
work[i].gjj=work[i+1].gjj;
work[i].ylbx=work[i+1].ylbx;
work[i].kkhj=work[i+1].kkhj;
work[i].sfgz=work[i+1].sfgz;
}
work[i].zgh=0;
strcpy(work[i].xm,"
0"
work[i].yfgz=0;
work[i].jj=0;
work[i].sdf=0;
work[i].gjj=0;
work[i].ylbx=0;
work[i].kkhj=0;
work[i].sfgz=0;
count--;
printf("
所选信息已删除"
sorry!
meiyouciren"
voidtjll()//***************统计浏览*****************
inti;
floatyfgz=0,jj=0,sdf=0,gjj=0,ylbx=0,kkhj=0,sfgz=0;
职工号姓名应发工资奖金水电费公积金医疗保险扣款合计实发工资\n"
--------------------------------------------------------------------------\n"
%d%s%.2f%.2f%.2f%.2f%.2f%.2f%.2f\n"
work[i].zgh,
work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,
------------------------------------------------------------------\n"
yfgz=yfgz+work[i].yfgz;
jj=jj+work[i].jj;
sdf=sdf+work[i].sdf;
gjj=gjj+work[i].gjj;
ylbx=ylbx+work[i].ylbx;
kkhj=sdf+gjj+ylbx;
sfgz=yfgz+jj-kkhj;
汇总:
职工人数%d\n"
count-1);
应发工资%.2f\n"
yfgz);
奖金%.2f\n"
jj);
水电费%.2f\n"
sdf);
公积金%.2f\n"
gjj);
医疗保险%.2f\n"
ylbx);
------------------------\n"
扣款合计%.2f\n"
kkhj);
实发工资%.2f\n"
sfgz);
voidmain()//***************主函数,主界面**************
{intxz;
do
{system("
//清屏,清除屏幕上的所有信息
********《职工工资管理系统》制作人:
********\n"
1-----初始化信息\n"
2-----追加职工信息\n"
3-----根据职工号查询\n"
4-----根据职工号修改\n"
5-----根据职工号删除\n"
6-----统计并浏览\n"
7-----退出\n"
**********************************************\n"
输入您的选择(-7):
"
xz);
switch(xz)
{case1:
csh();
break;
//执行子函数csh(完成初始化功能)
case2:
zjxx();
//执行子函数zjxx(完成追加职工信息)
case3:
cx();
break;
//执行子函数cx(完成根据职工号查询)
case4:
xg();
//执行子函数xg(完成根据职工号修改)
case5:
sc();
//执行子函数sc(完成根据职工号删除)
case6:
tjll();
//执行子函数tjll(完成统计并浏览)
case7:
printf("
\n-----------谢谢,欢迎下次光临!
----------\n\n"
default:
exit(0);
//退出系统,exit(0)函数功能是退出程序。
while
(1);
程序运行界面
1.运行主界面:
2追加职工
3查询职工信息:
4修改职工信息:
5统计浏览:
三、实训心得体会
这C语言实训总体来说收获很大。
通过一个星期的学习,巩固和提高了基本编程能力。
当然其中遇到过很多问题,当在自己的思考中把这些问题一一解决之后,才发现只有自己认真对待了,没有解决不了的问题。
就像一开始根本就没有一点思路,因为毕竟是第一次做这么一个大题目,但我们到处都有学习的机会,通过同学们的相互讨论和老师的教导,终于找到了自己的解决方法。
虽然我们的专业不是编程,但老师也说过,最主要的通过这一次机会来提高自己。