求错在哪,该如何处理

求错在哪
#include<iostream>
using namespace std;
class Employee
{ public:
Employee(){}
  Employee(double,char,double);
  void input(double nu,char na,double bs);
  double Epay()
  { return basicSalary;}
  void print()
  {cout<<"编号"<<number<<" "<<"姓名"<<name<<" "<<"the total salary is"<<Epay ();}
private:
double number;
char name;
double basicSalary;
};
Employee::Employee (double nu,char na,double bs)
{ number=nu;
  name=na;
  basicSalary=bs;
}
void Employee::input (double nu,char na,double bs)
{ number=nu;
  name=na;
  basicSalary=bs;
}
class Salesman:public Employee
{ public:
Salesman(){}
Salesman(double);
void input(double);
  double Sapay();
  void print()
  { cout<<"工资"<<Sapay()<<endl;}
private:
double sales;
static double commrate;
};
double Salesman::commrate =0.005;
Salesman::Salesman (double s){sales=s;}
void Salesman::input (double s){sales=s;}
double Salesman::Sapay ()
{return Epay()+sales*commrate;}
class Salesmanager:public Salesman
{ public:
  double Sgpay();
  void print(){cout<<"工资"<<Sgpay<<endl;}
private:
  static double jobSalary;
};
double Salesmanager::jobSalary=3000;
double Salesmanager::Sgpay ()
{ return Sapay()+jobSalary;
}
int main()
{ Employee Em;
  Salesman Sman;
  Salesmanager Smang;
  double num1,num2,num3,sal1;
  char nam1,nam2,nam3;
  cout<<"please input employee's number"<<endl;
  cin>>num1;
  cout<<"please input employee's name"<<endl;
  cin>>nam1;
  Em.input(num1,nam1,2000);
  Em.print();
  cout<<"please input salesman's number"<<endl;
  cin>>num2;
  cout<<"please input salesman's nam2"<<endl;
  cin>>nam2;
  cout<<"please input sales"<<endl;
  cin>>sal1;
  Sman.input(sal1);
  cout<<"编号"<<num2<<"姓名"<<nam2;
  Sman.print();
  cout<<"please input salesmanager's number"<<endl;
  cin>>num3;
  cout<<"please input salesmanager's nam3"<<endl;
  cin>>nam3;
  cout<<"编号"<<num3<<"姓名"<<nam3;
  Smang.print();}
------解决思路----------------------
修改:

#include<iostream>
using namespace std;
class Employee
{
public:
Employee() {}
Employee(double, char, double);
void input(double nu, char na, double bs);
double Epay()
{
return basicSalary;
}
void print()
{
cout << "编号" << number << " " << "姓名" << name << " " << "the total salary is" << Epay() << endl;
}
private:
double number;
char name;
double basicSalary;
};
Employee::Employee(double nu, char na, double bs)
{
number = nu;
name = na;
basicSalary = bs;
}
void Employee::input(double nu, char na, double bs)
{
number = nu;
name = na;
basicSalary = bs;
}
class Salesman :public Employee
{
public:
Salesman() {}
Salesman(double);
void input(double);
double Sapay();
void print()
{
cout << "工资" << Sapay() << endl;
}
private:
double sales;
static double commrate;
};
double Salesman::commrate = 0.005;
Salesman::Salesman(double s) { sales = s; }
void Salesman::input(double s) { sales = s; }
double Salesman::Sapay()
{
return Epay() + sales*commrate;
}
class Salesmanager :public Salesman
{
public:
double Sgpay();
void print() { cout << "工资" << Sgpay() << endl; }
private:
static double jobSalary;
};
double Salesmanager::jobSalary = 3000;
double Salesmanager::Sgpay()
{
return Sapay() + jobSalary;
}
int main()
{
Employee Em;
Salesman Sman;
Salesmanager Smang;
double num1, num2, num3, sal1;
char nam1, nam2, nam3;
cout << "please input employee's number" << endl;
cin >> num1;
cout << "please input employee's name" << endl;
cin >> nam1;
Em.input(num1, nam1, 2000);
Em.print();
cout << "please input salesman's number" << endl;
cin >> num2;
cout << "please input salesman's name" << endl;
cin >> nam2;
cout << "please input sales" << endl;
cin >> sal1;
Sman.input(sal1);
cout << "编号" << num2 << "姓名" << nam2;
Sman.print();
cout << "please input salesmanager's number" << endl;
cin >> num3;
cout << "please input salesmanager's name" << endl;
cin >> nam3;
cout << "编号" << num3 << "姓名" << nam3;
Smang.print();

return 0;
}