工资管理(28)
河北工业大学计算机软件技术基础(VC)课程设计报告
学院电气与自动化班级自动化083姓名赵银各学号081037成绩 __ ____
一、题目:
工资管理(28)
二、设计思路
1、总体设计 1)程序的功能:
①职工信息的输出功能:通过输入职工的职工编号、姓名、基本工资、扣款,通过程序运行便可输出职工的职工编号、姓名、基本工资、扣款、应发工资、税金、实发工资、以及票面数。
②查找功能:通过输入职工编号便能显示出该职工的所有信息。 2)系统总体结构:
设计程序的组成模块:①职工信息模块,②查找模块。
职工信息模块用于输入职工的职工编号、姓名、基本工资、扣款信息,经过运行便可输出职工的职工编号、姓名、基本工资、扣款、应发工资、税金、实发工资、以及票面数。
查找模块用于当输入某一员工的职工编号后便可显示出该职工的所有信息。 2、各功能模块的设计:
①职工信息模块:输入职工信息,输出对应的信息。
②查找模块:输入某一员工的职工编号后便可显示出该职工的所有信息。 3、设计中的主要困难及解决方案
在这部分论述设计中遇到的主要困难及解决方案。 1)困难1:职工信息的存放 2)困难2:票面数的计算
4、你所设计的程序最终完成的功能:①输入职工的职工编号、姓名、基本工资、扣款,输出职工的职工编号、姓名、基本工资、扣款、应发工资、税金、实发工资、以及票面数。
②输入职工编号便能显示出该职工的所有信息 2)准备的测试数据及运行结果
三、程序清单
#include struct worker { };
void input(worker wor[],int n); void find(worker wor[],int n); void main()
{ //主函数
int num; //职工编号 char name[20]; //姓名 double jbgz; //基本工资 double kk; //扣款 double yfgz; //应发工资 double sj; //税金 double sfgz; //实发工资 int p[7]; //票面数
worker wor[20]; int n; char z;
cout
cin>>n;
cout
cout
cin>>z; //Z为循环控制变量,决定是否继
续调用查找函数
}
void input(worker wor[],int n)
{ //输入与显示函数
int i=0;
cout
cin>>wor[i].num>>wor[i].name>>wor[i].jbgz>>wor[i].kk; wor[i].yfgz=wor[i].jbgz-wor[i].kk; //应发工资 if(wor[i].yfgz
wor[i].sj=0;
for(;z=='y'||z=='Y';) {
find(wor,n);
cout>z; }
else if(wor[i].yfgz
wor[i].sj=(wor[i].yfgz-1000)*0.05;
else if(wor[i].yfgz
wor[i].sj=(wor[i].yfgz-1000)*0.1;
else if(wor[i].yfgz
wor[i].sj=(wor[i].yfgz-1000)*0.15;
else if(wor[i].yfgz
wor[i].sj=(wor[i].yfgz-1000)*0.2; else
wor[i].sj=(wor[i].yfgz-1000)*0.3;
wor[i].sfgz=wor[i].yfgz-wor[i].sj; //实发工资
wor[i].p[0]=int(wor[i].sfgz/100); //票面数计算
wor[i].p[1]=int((int)(wor[i].sfgz)%100/50); wor[i].p[2]=int((int)(wor[i].sfgz)%100%50/20); wor[i].p[3]=int((int)(wor[i].sfgz)%100%50%20/10); wor[i].p[4]=int((int)(wor[i].sfgz)%100%50%20%10/5); wor[i].p[5]=int((int)(wor[i].sfgz)%100%50%20%10%5/2); wor[i].p[6]=int((int)(wor[i].sfgz)%100%50%20%10%5%2); i++;
}
cout
20元 10元 5元 2元 1元"
cout
for(i=0;i
[i].yfgz
}
void find(worker wor[],int n) //查找职工信息 { //查找函数
worker p; //存放查找到的员工信息 int i,num;
cout
cin>>num;
for(i=0;i
if(wor[i].num==num) {
}
p=wor[i]; break;
if(i==n)
cout
else {
cout
cout
"
}
}
cout
cout
cout
四、对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价:能够基本实现课程设计要求,实现了对某一职工信息的查找,以及对多职工信息的数据处理。较方便的管理职工资。
五、收获及心得体会
1、通过本次课程设计,自己在哪些方面的能力有所提高。
通过本次课程设计,使我加深了对结构体数组的理解以及顺序查找法的灵活运用。 2、 收获和心得体会。
充分认识到了C++的简便,灵活。进一步加深了对结构体数组和顺序查找法的理解。
日期: 2009年 6月 22 日