工资发放系统设计报告Word格式.docx
- 文档编号:13556084
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:14
- 大小:124.93KB
工资发放系统设计报告Word格式.docx
《工资发放系统设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《工资发放系统设计报告Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
首先定义常量hourlyrate(90)、monthlypay(3000)、sales
(30000)、daylypay(30)、commrate(0.005)。
定义一个salarycountsystem类,在公有成员public中定义工资salary,在构造函数salarycountsystem中定义其初始值为0。
定义四个add重载函数,一个red成员函数,并分别用公式计算四种销售员的实发工资。
固定薪金职员:
m(请假应扣)=holiday*daylypay;
salary=monthlypay-m;
计时薪金职员:
b(实际工作时长)=w(工作时长)+p(加班时长);
salary=hourlyrate*b;
普通销售员:
sales1(实际销售额)
销售额大于30000时:
salary=(sales1-sales)*2/1000;
销售额小于30000时:
salary=(sales-sales1)*2/1000;
带薪销售员:
sales2(实际销售额)
salary=monthlypay-h*daylypay+commrate*sales2;
设计main主函数,定义一个salarycountsystem类的对象a调用类的成员函数。
定义一个char型op,代表输入的符号,按界面要求输出“工资查询系统”。
用dowhile实现查询系统的循环。
定义工种为k并输入。
在if语句中定义所需变量,根据输入的k值的不同输出各工种的工资相关项,并实现数据成员的调用。
输入op,“*”为退出,其它符号继续查询。
程序到此已基本完成,再对界面进行美化处理,就完成了程序设计。
3、界面操作流程图
4、程序流程图
5、源程序
#include<
iostream>
string.h>
usingnamespacestd;
constfloathourlyrate(90);
//时薪
constfloatmonthlypay(3000);
//固定薪金
constfloatcommrate(0.005f);
//带薪销售员的提成百分比
constfloatdaylypay(30);
//请假一天的钱
classsalarycountsystem
{
public:
floatsalary;
//工资
salarycountsystem(){salary=0;
}//定义构造函数使salary初始值为0
floatadd(intholiday)//固定薪金职员工资重载
{
floatm=holiday*daylypay;
salary=monthlypay-m;
returnsalary;
}//固定薪金职员
doubleadd(intw,inta)//计时职员工资重载
intb=w+a;
//w(工作时长),a(超出时长),b(实际工作时长)
salary=hourlyrate*b;
}//计时职员
floatadd(floatsales1)//普通销售员工资重载
salary=(30000-sales1)*2/100;
//销售额小于30000
}
floatred(floatsales1)//定义成员函数
salary=(sales1-30000)*2/100;
//销售额大于30000
}//普通销售员
floatadd(floatsales2,floath)//带薪销售员工资重载
salary=monthlypay-h*daylypay+commrate*sales2;
}//带薪销售员
};
voidmain()
salarycountsystema;
//定义一个类的对象
charop;
do//使用循环体实现工资查询的循环
cout<
<
"
"
endl;
欢迎使用工资查询系统!
endl<
***************************************"
菜单"
1固定薪金职员"
2计时职员"
3普通销售员"
4带薪销售员"
选择*键结束运算,选其它符号继续运算"
请选择职工类型:
intk;
//工种
cin>
>
k;
if(k==1)
intholiday;
//请假天数
cout<
请输入固定薪金职员的请假天数:
cin>
holiday;
a.add(holiday);
***************固定薪金职员*******************"
工种"
奖励薪金"
固定月薪"
请假天数"
应扣"
实发工资"
k<
0<
monthlypay<
holiday<
holiday*30<
a.salary<
elseif(k==2)
intw;
intp;
//w(workhours),p(超出时长)
请输入工作时长:
w;
//workehours
请输入加班时长:
p;
a.add(w,p);
*******************计时职员******************"
工作时长"
时薪"
加班时长"
k<
0"
w<
hourlyrate<
p<
}
elseif(k==3)
floatprize;
floatsales1;
floats;
请输入本月销售额:
sales1;
//输入本月销售额
if(sales1>
=30000)
{
s=a.red(sales1);
cout<
*******************普通销售员**************"
销售额"
提成比例"
s<
sales1<
2%"
3000+s<
}
else
s=3000-a.add(sales1);
prize=a.add(sales1);
******************普通销售员***************"
prize<
elseif(k==4)
floatsales2;
floath;
//holiday
floatd;
//应扣
请输入带薪销售员请假天数:
h;
请输入带薪销售员的销售额:
sales2;
d=h*daylypay;
a.add(sales2,h);
********************带薪销售员****************"
cout<
commrate*sales2<
sales2<
commrate<
h<
d<
else
无此项!
选择*键结束运算,其它符号继续运算:
op;
}while(op!
='
*'
);
}
6、运行结果截图:
(1)、欢迎界面
(2)、固定薪金职员
(3)、计时销售员
(4)、普通销售员
销售额大于30000时:
销售额小于30000时:
(5)、带薪销售额
(6)、退出查询系统
三、得意之处
整个程序中我认为比较得意的几个地方:
1、在salarycountsystem类中运用了函数的重载
d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资 发放 系统 设计 报告