工资发放系统设计报告_工资发放系统设计文档

其他范文 时间:2020-02-28 04:32:53 收藏本文下载本文
【www.daodoc.com - 其他范文】

工资发放系统设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“工资发放系统设计文档”。

《程序设计语言基础》

课程设计报告

班级:

XXXXXXXXXXX 姓名:

XXXXXXXXXXX 题目:

XXXXXXXXXXX 设计时间:XXXXXXXXXXX

一、需求分析:

本课程主要是完成一个工资管理系统,要求用户在使用时可以 正确的查询到当月实际发放的工资,完成员工基本信息数据的输入,并且在查询时能显示相关数据,方便用户了解其发放工资情况。

二、课题设计内容:

1、课程设计的基本流程: 关于此课程的设计,是建立在整体问题把握的基础上进行的面向对象程序设计的。

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

在主函数中定义所需数据成员,将类salarycountsystem定义为对象a,在a中实现工资查询系统的界面输出。运用do while实现工资的循环查询,其中嵌套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,代表输入的符号,按界面要求输出“工资查询系统”。用do while实现查询系统的循环。定义工种为k并输入。在if语句中定义所需变量,根据输入的k值的不同输出各工种的工资相关项,并实现数据成员的调用。输入op,“*”为退出,其它符号继续查询。

程序到此已基本完成,再对界面进行美化处理,就完成了程序设计。

3、界面操作流程图

4、程序流程图

5、源程序

#include #include using namespace std;const float hourlyrate(90);//时薪

const float monthlypay(3000);//固定薪金

const float commrate(0.005f);//带薪销售员的提成百分比 const float daylypay(30);//请假一天的钱 cla salarycountsystem {

public:

float salary;//工资

salarycountsystem(){salary=0;}//定义构造函数使salary初始值为0 float add(int holiday)//固定薪金职员工资重载

{

float m=holiday*daylypay;

salary=monthlypay-m;

return salary;}//固定薪金职员

double add(int w,int a)//计时职员工资重载

{

int b=w+a;//w(工作时长),a(超出时长),b(实际工作时长)

salary=hourlyrate*b;

return salary;}//计时职员

float add(float sales1)//普通销售员工资重载

{

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

return salary;} float red(float sales1)//定义成员函数

{

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

return salary;}//普通销售员

float add(float sales2,float h)//带薪销售员工资重载

{

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

return salary;}//带薪销售员 };void main(){ salarycountsystem a;//定义一个类的对象

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

{ cout

cout

cout

cout

cin>>k;if(k==1){

int holiday;//请假天数

cout

cin>>holiday;

a.add(holiday);

cout

cout

cout

int w;

int p;//w(work hours),p(超出时长)

cout

cin>>w;//workehours

cout

cin>>p;a.add(w,p);

cout

cout

cout

float prize;

float sales1;

float s;

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

}

} else if(k==4){

float sales2;

float h;//holiday

float d;//应扣

cout

cin>>h;//holiday

cout

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

d=h*daylypay;

a.add(sales2,h);

cout

cout

“>op;

}while(op!='*');}

6、运行结果截图:

(1)、欢迎界面

(2)、固定薪金职员

(3)、计时销售员

(4)、普通销售员 销售额大于30000时:

销售额小于30000时:

(5)、带薪销售额

(6)、退出查询系统

三、得意之处

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

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

float add(int holiday)//固定薪金职员工资重载

{

float m=holiday*daylypay;

salary=monthlypay-m;

return salary;} double add(int w,int a)//计时职员工资重载

{

int b=w+a;

salary=hourlyrate*b;

return salary;}计时职员

float add(float sales1)//普通销售员工资重载

{

salary=(30000-sales1)*2/100;

return salary;} float red(float sales1)//定义成员函数

{

salary=(sales1-30000)*2/100;

return salary;}

float add(float sales2,float h)//带薪销售员工资重载

{

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

return salary;}

2、在主函数中实现函数的调用 例如:带薪销售员

else if(k==4){

float sales2;

float h;//holiday

float d;//应扣

cout

cin>>h;//holiday

cout

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

d=h*daylypay;

a.add(sales2,h);

cout

cout

cout

3、在用户使用时可以清楚地看到一个工资查询的界面,用户可以选择要查询的工种,界面会显示查询的工资相关情况,并且可以重复查询,直至退出。

四、创意技术的实现

通过do while循环实现重新输入工种进行选择查询,通过if/else语句输入相关变量,实现函数的调用和输出。

五、课程设计目前存在的问题

此程序只能实现查询不同工种的工资情况,但不能查询个人的 具体工资。如果定义每个职员的名字,再对其请假天数、实际工作时长、销售额等变量进行定义并输入,利用重载函数并实现函数的调用会更加完美。但因此课程设计的要求以达标,不存在别的问题。

六、设计过程中的收获和体会

在上课时会遇到很多问题,虽然有的老师已帮解决,但仍留下 很多疑问。在此次程序设计过程中,我通过查询各种相关书籍和查阅老师所讲的PPT,先把伪代码写上。再按照要求进行程序的完成,根据运行时出现的错误进行一一修改,遇到实在不会改的地方,就去请教学的好的同学,还加了一个课程设计的群,通过在一起讨论和分析的过程中解决问题。最后通过不断努力终于完善了整个程序。

通过此次课程设计,我学到了不少知识,都是以前忽略但极为重要的。同时,我也体会到程序不是冰冷的符号,不要为了完成作业而去做它,重要的是我在此过程中增加了学习C++的兴趣,在不断尝试和探索中学会了程序编写的基本过程,为以后学习C++提供了许多方便。

虽然这只是简单的设计一个工资查询系统,但我还是看到了自己的很多不足之处,也明白了今后学习C++的方向。而且不要局限于教

材上的知识,要不断的参考各种相关书籍才能更加全面的了解如何运用C++知识编写程序,在今后的学习中,我会更加刻苦努力,坚持自学,不断充实自己,使自己能熟练、流畅的运用所学知识。

七、主要参考文献

《C++语言程序设计》(第三版)《C++程序设计》

下载工资发放系统设计报告word格式文档
下载工资发放系统设计报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文