文档介绍:公司工资管理系统程序设计报告
综合实验报告
面向对象程序设计
目录
课程设计题目………………………………………………2
二、主要功能分析………………………………………………3
三、设计思路……………………………………………………3
四、编码实现……………………………………………………3
五、程序使用注意事项…………………………………………25
六、运行结果……………………………………………………25
七、心得及体会…………………………………………………28
一、课程设计题目
公司工资管理系统
设计要求:
(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。
(2)工资的计算办法:
经理:固定月薪为8000;
技术员:工作时间*小时工资(100元每小时);
销售员:销售额*4%提成;
销售经理:底薪(5000)+所辖部门销售额总额*%;
(3)类的层次结构大体如下:
雇员类
技术员类
经理类
销售员类
销售经理类
(4)输入数据要求每类人员不能少于4人,并按以下格式输出:
职工号
姓名
性别
年龄
岗位
工资
排名
及某销售经理所辖部门各销售员的业绩及自己的工资表:
职工号
姓名
销售额
销售额合计:
(5)总体设计,要有一个菜单,用于选择各项功能,其中
数据录入:输入各种数据;
数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序;
数据打印:打印上述表格;
数据备份:把相关数据写入文件;
退出:退出本系统;
注:各项菜单都调用一个函数来实现。
二、主要功能分析
1、资料录入:通过键盘输入公司各项职员的各项数据;
2、资料统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡排序;
3、数据打印:按照表格的格式在屏幕上输出各类员工的信息;
4、资料备份:把各类员工的数据信息写入文件中保存;
5、退出:退出本系统
三、设计思路
1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。
2、首先定义了一个Employee的雇员基类,然后由此派生出Technician,Manager,Seller三个类,并且Manager类和Seller类为虚拟继承。然后定义一个Salesmanager类多重继承于Manager类和Seller类。所有的继承都为共有继承。
3、通过switch语句判断进行什么操作。
四、编码实现
#include<iostream>
#include<string>
#include<>
#include<iomanip>
#include<fstream>
using namespace std;
ofstream outfile;
const int B=4;
const int T=4;
const int SB=2;
const int S=4;
double wage1(int n);
void managerinformation();//经理信息
void technicianinformatian();//技术员信息
void salesmanagerinformation();//销售经理信息
void sellerinformation();//销售员信息
void total();//求工资函数
void maopao();//冒泡排序进行工资排列
void yejibiao();//打印业绩表格
void SBrank();//销售经理工资排序
void excelhead();//表头
void excelmiddle();//表中
void excelend();//表尾
void backup_yejibiao(); //
void backup_SBrank(); //
void backup_technicianinformatian(); //各项信息表格备份
void backup_managerinformation(); //
void backup_salesmanagerinformation(); //
void backup_sellerinformation(); //
class Employee
{
public:
int nume() {return(num);}//职工号
string nam(){return(name);}//名字
char showsex() {return(sex); }//性别
int s