高分求救啊!!!急哦~~~~~~~~~在线等!!!
/////////////////////////////////////销售经理//////////////////////////////
///先帮我看看这个类有什么问题没~~~~~
然后就是我要实现销售经理的工资排名现在应该怎么实现????
class sell_manager: virtual public seller,virtual public manager//继承
{
public:
sell_manager(){percentage=0.5,pay=8000;} //初始提成,和固定工资
void display();
void put_date();
void fun()
{ double maxA=0;maxB=0;maxC=0;maxD=0;//定义A部门销售总额,B部
Employee::set_date(); //C部D部的总额为0
for(int i;i <4;i++)
{
maxA=maxA+A[i].total;//求总额,A[i].total为第I
maxB=maxB+B[i].total;//个销售员的销售额以此类
maxC=maxC+C[i].total;//推部门总额等与个个销售
maxD=maxD+D[i].total;//员想加
}
double payA=pay+percentage*maxA;//各个销售经理的工资等与固定工
doublepayB=pay+percentage*maxB;//资加提成
doublepayC=pay+percentage*maxC;
doublepayD=pay+percentage*maxD;
void print()
{
cout < < "┌—————┬—————┬—————┐ " < <endl;
cout < < "│ " < <setw(10) < < "number "
< < "│ " < <setw(10) < < "name "
< < "│ " < <setw(10) < < "销售额 "
< < "│ " < <endl;
cout < < "├—————┼—————┼—————┤ " < <endl;
cout < < "│ " < <setw(10) < <number
< < "│ " < <setw(10) < <name
< < "│ " < <setw(10) < <sex
< < "│ " < <endl;
}
protected:
double maxA;
double maxB;
double maxC;
double maxD;
double payA;
double payB;
double payC;
double payD;
};
seller sa[4],*p3;
void sell_manager::display()
{
int k=0;
for (;k <4;k++)
{
sa[k].fun();
}
}
void sell_manager::put_date()
{
int k=0;
for (;k <4;k++)
{
sa[k].print();
}
}
void General_seller()
{
p3-> display();
p3-> put_date();
}
[解决办法]
对这个类定义一个int compare(sell_manager sm1, sell_manager sm2) {
...// 比较sell_manager的工资,返回比较值.
}
用compare函数作为排序时的比较函数就好了,然后按一般的排序算法排序.
[解决办法]
定义一个函数对象,其中定义 operator() 作为排序准则,
然后传递给:
#include <algorithm>
void sort( iterator start, iterator end, StrictWeakOrdering cmp );
中的第三个参数 cmp 作为排序基准就可以了 ...
[解决办法]
我觉得类定义的比较复杂了,也不想看明白了。最好用数据库。
[解决办法]
晕
[解决办法]
老兄写什么呢,是不是什么设计啊,今天时间不太够,以后在帮你看看吧
[解决办法]
double maxA=0;maxB=0;maxC=0;maxD=0;//定义A部门销售总额,B部
double payA=pay+percentage*maxA;//各个销售经理的工资等与固定工
double payB=pay+percentage*maxB; //资加提成
double payC=pay+percentage*maxC;
double payD=pay+percentage*maxD;
protected:
double maxA;
double maxB;
double maxC;
double maxD;
double payA;
double payB;
double payC;
double payD;
怎么回事?你怎么在成员函数里面又定义了相同名字的变量?
如果要排序,请使用标准类里面的map,再实现operator<