工资发放系统设计报告.docx

上传人:b****3 文档编号:629862 上传时间:2022-10-11 格式:DOCX 页数:14 大小:124.93KB
下载 相关 举报
工资发放系统设计报告.docx_第1页
第1页 / 共14页
工资发放系统设计报告.docx_第2页
第2页 / 共14页
工资发放系统设计报告.docx_第3页
第3页 / 共14页
工资发放系统设计报告.docx_第4页
第4页 / 共14页
工资发放系统设计报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

工资发放系统设计报告.docx

《工资发放系统设计报告.docx》由会员分享,可在线阅读,更多相关《工资发放系统设计报告.docx(14页珍藏版)》请在冰豆网上搜索。

工资发放系统设计报告.docx

工资发放系统设计报告

 

《程序设计语言基础》

课程设计报告

 

班级:

XXXXXXXXXXX

姓名:

XXXXXXXXXXX

题目:

XXXXXXXXXXX

设计时间:

XXXXXXXXXXX

一、需求分析:

本课程主要是完成一个工资管理系统,要求用户在使用时可以

正确的查询到当月实际发放的工资,完成员工基本信息数据的输入,并且在查询时能显示相关数据,方便用户了解其发放工资情况。

二、课题设计内容:

1、课程设计的基本流程:

关于此课程的设计,是建立在整体问题把握的基础上进行的

面向对象程序设计的。

根据实验要求定义一个salarycountsystem类,在类中定义一个构造函数、四个重载函数和一个成员函数,定义相关变量并对不同职员的薪水计算,salary为返回值。

在主函数中定义所需数据成员,将类salarycountsystem定义为对象a,在a中实现工资查询系统的界面输出。

运用dowhile实现工资的循环查询,其中嵌套if语句,实现不同工种的选择。

最后输入op,选择继续进行还是结束程序。

2、详细设计说明:

首先定义常量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

#include

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;

returnsalary;

}//计时职员

floatadd(floatsales1)//普通销售员工资重载

{

salary=(30000-sales1)*2/100;//销售额小于30000

returnsalary;

}

floatred(floatsales1)//定义成员函数

{

salary=(sales1-30000)*2/100;//销售额大于30000

returnsalary;

}//普通销售员

floatadd(floatsales2,floath)//带薪销售员工资重载

{

salary=monthlypay-h*daylypay+commrate*sales2;

returnsalary;

}//带薪销售员

};

voidmain()

{

salarycountsystema;//定义一个类的对象

charop;

do//使用循环体实现工资查询的循环

{

cout<<""<

cout<<"欢迎使用工资查询系统!

"<

cout<<"***************************************"<

cout<<"菜单"<

cout<<"1固定薪金职员"<

cout<<"2计时职员"<

cout<<"3普通销售员"<

cout<<"4带薪销售员"<

cout<<"选择*键结束运算,选其它符号继续运算"<

cout<<"***************************************"<

cout<<"请选择职工类型:

"<

intk;//工种

cin>>k;

if(k==1)

{

intholiday;//请假天数

cout<<"请输入固定薪金职员的请假天数:

"<

cin>>holiday;

a.add(holiday);

cout<<"***************固定薪金职员*******************"<

cout<<"工种"<<""<<"奖励薪金"<<""<<"固定月薪"<<""<<"请假天数"<<""<<"应扣"<<""<<"实发工资"<

cout<

}

elseif(k==2)

{

intw;

intp;//w(workhours),p(超出时长)

cout<<"请输入工作时长:

"<

cin>>w;//workehours

cout<<"请输入加班时长:

"<

cin>>p;

a.add(w,p);

cout<<"*******************计时职员******************"<

cout<<"工种"<<""<<"奖励薪金"<<""<<"工作时长"<<""<<"时薪"<<""<<"加班时长"<<""<<"实发工资"<

cout<

}

elseif(k==3)

{

floatprize;

floatsales1;

floats;

cout<<"请输入本月销售额:

"<

cin>>sales1;//输入本月销售额

if(sales1>=30000)

{

s=a.red(sales1);

cout<<"*******************普通销售员**************"<

cout<<"工种"<<""<<"奖励薪金"<<""<<"销售额"<<""<<"提成比例"<<""<<"应扣"<<""<<"实发工资"<

cout<

}

else

{

s=3000-a.add(sales1);

prize=a.add(sales1);

cout<<"******************普通销售员***************"<

cout<<"工种"<<""<<"奖励薪金"<<""<<"销售额"<<""<<"提成比例"<<""<<"应扣"<<""<<"实发工资"<

cout<

}

}

elseif(k==4)

{

floatsales2;

floath;//holiday

floatd;//应扣

cout<<"请输入带薪销售员请假天数:

"<

cin>>h;//holiday

cout<<"请输入带薪销售员的销售额:

"<

cin>>sales2;//输入本月销售额

d=h*daylypay;

a.add(sales2,h);

cout<<"********************带薪销售员****************"<

cout<<"工种"<<""<<"奖励薪金"<<""<<"固定月薪"<<""<<"销售额"<<""<<"提成比例"<<""<<"请假天数"<<""<<"应扣"<<""<<"实发工资"<

cout<

}

else

cout<<"无此项!

"<

cout<<"选择*键结束运算,其它符号继续运算:

"<

cin>>op;

}while(op!

='*');

}

 

6、运行结果截图:

(1)、欢迎界面

(2)、固定薪金职员

 

(3)、计时销售员

(4)、普通销售员

销售额大于30000时:

销售额小于30000时:

(5)、带薪销售额

(6)、退出查询系统

三、得意之处

整个程序中我认为比较得意的几个地方:

1、在salarycountsystem类中运用了函数的重载

floatadd(intholiday)//固定薪金职员工资重载

{

floatm=holiday*daylypay;

salary=monthlypay-m;

returnsalary;

}

d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1