文档介绍:2 程序的主要功能
添加一个职员的基本信息,包括职工类型,姓名等等,
能够对一个职员的信息进行删除按员工号进行删除。
显示所有职员的主要信息包括员工类型,姓名,工资。
设置不同员工类型的工资要求。
对职员的信息进行修改。
3 程序运行平台
VC++。
4 总体设计
主函数
添加信息
删除信息
清空信息
修改信息
显示信息
查找信息
系统总体框架图
雇员类
销售员类
经理类
技术员类
销售经理类
5 程序类的说明
总职工类的声明
class Person //员工类
{
protected:
int No; //编号
char Name[20]; //姓名
int Duty; //岗位
double Earning; //收入
Person *next;
public:
Person(char ID,char *Name,int Duty)
{
this->Duty=Duty;
strcpy(this->Name,Name);
this->No=ID;
}
virtual void CalcSalary()=0;
virtual void Output()=0;
friend pany;
};
技术员类的声明
class technician:virtual public Employee
{
public:
technician() {}
virtual void shanchu() {*name=*sex=0;number=age=hour=0;pay1=0;}
void wage() { pay1=100*hour;}
virtual void print()
{
wage();
cout<<"技术员员工号:"<<number<<" "
<<"姓名:"<<name<<" "
<<"性别:"<<sex<<" "
<<"年龄:"<<age<<" "
<<"工资:"<<pay1<<endl;
}
void input()
{
Employee::input();
cout<<"工作时间(以小时计算)"<<endl;
cin>>hour;
}
protected:
int hour,pay1;
};
经理类的声明
class Manager:public Person //经理类
{
public:
Manager(char ID,char *Name,int Duty):Person(ID,Name,Duty){}
void CalcSalary(){Earning=ManagerSalary;}
void Output()
{
CalcSalary();
cout<<No<<"\t"<<Name<<"\t经理\t"<<Earning<<endl;
}
};
销售员类的声明
class Sales:public Person //销售员类
{
private:
double Amount;
public:
Sales(char ID,char *Name,int Duty,double Amount):Person(ID,Name,Duty)
{
this->Amount=Amount;
}
double GetAmount()
{
return Amount;
}
void SetAmount(double Amount)
{
this->Amount=Amount;
}
void CalcSalary()
{
Earning=SalesPercent/100*Amount;
}
void Output()
{
CalcSalary();
cout<<No<<"\t"<<Name<<"\t销售员\t"<<Amount<<"\t"<<Earning<<endl;
}
};
销售经理类的声明
class SalesManager:public Person //销售经理类
{
private:
double Amount;
public:
SalesManager(char ID,char *Name,int Duty):Person(ID,Name,Duty){}
void SetAmount(double s)
{