Update 编程实例.cpp
This commit is contained in:
@@ -1,92 +1,92 @@
|
||||
/*
|
||||
ij<EFBFBD><EFBFBD>˾<EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Աÿ<EFBFBD>µ<EFBFBD>н800Ԫ<EFBFBD><EFBFBD>
|
||||
Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5%<25><>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ݡ<EFBFBD>
|
||||
Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD>Ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><EFBFBD><EFBFBD>Employee<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>̳и<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>ܡ<EFBFBD>
|
||||
某公司有经理、销售员、小时工等多类人员。经理按周计算薪金;销售员每月底薪800元,
|
||||
然后加销售提成,每销售1件产品提取销售利润的5%;小时工按小时计算薪金。每类人员都有姓名和身份证号等数据。
|
||||
为简化问题,把各类人员的共有信息抽象成基类Employee,其他人员则继承该类的功能。
|
||||
*/
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
class Employee{
|
||||
public:
|
||||
Employee(string Name ,string id){ name=Name; Id=id; }
|
||||
string getName(){ return name; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
string getID(){ return Id; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
|
||||
float getSalary(){ return 0.0; } //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>нˮ
|
||||
void print(){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<name<<"\t\t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<Id<<endl;
|
||||
public:
|
||||
Employee(string Name ,string id) : name(Name), Id(id){ }
|
||||
string getName() const { return name; } //返回姓名
|
||||
string getID() const { return Id; } //返回身份证号
|
||||
virtual float getSalary() const { return 0.0; } //返回薪水
|
||||
virtual void print() const { //输出姓名和身份证号
|
||||
cout<<"姓名: "<<name<<"\t\t 编号: "<<Id<<endl;
|
||||
}
|
||||
private:
|
||||
string name;
|
||||
string Id;
|
||||
};
|
||||
class Manager:public Employee{
|
||||
public:
|
||||
Manager(string Name,string id,int week):Employee(Name,id){
|
||||
WeeklySalary=week*1000;
|
||||
}
|
||||
float getSalary(){ return WeeklySalary; } //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н
|
||||
void print(){ //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>н
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getID()
|
||||
<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float WeeklySalary; //<2F><>н
|
||||
private:
|
||||
string name;
|
||||
string Id;
|
||||
};
|
||||
|
||||
class Manager:public Employee{
|
||||
public:
|
||||
Manager(string Name,string id,int week):Employee(Name,id){
|
||||
WeeklySalary=week*1000;
|
||||
}
|
||||
float getSalary() const { return WeeklySalary; } //获取经理的周薪
|
||||
void print() const { //打印经理姓名、身份证、周薪
|
||||
cout<<"经理:"<<getName()<<"\t\t 编号: "<<getID()
|
||||
<<"\t\t 总工资: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float WeeklySalary; //周薪
|
||||
};
|
||||
|
||||
class SaleWorker:public Employee{
|
||||
public:
|
||||
SaleWorker(string name,string id,int profit,int x):Employee(name,id){
|
||||
workerMoney=baseMoney+x*0.05*profit;
|
||||
}
|
||||
float getSalary(){
|
||||
return workerMoney;
|
||||
}
|
||||
void print(){
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>"<<getName()<<"\t\t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<getID()
|
||||
<<"\t\t <EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float baseMoney=800.0;
|
||||
float workerMoney;
|
||||
};
|
||||
class HourWorker:public Employee{
|
||||
public:
|
||||
HourWorker(string name,string id,int h):Employee(name,id){
|
||||
TotalMoney=h*hourMoney;
|
||||
}
|
||||
float getSalary(){
|
||||
return TotalMoney;
|
||||
}
|
||||
void print(){
|
||||
cout<<"Сʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<getName()<<"\t\t <20><><EFBFBD><EFBFBD>: "<<getID()
|
||||
<<"\t\t <20>ܹ<EFBFBD><DCB9><EFBFBD>: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float hourMoney=100.0;
|
||||
float TotalMoney;
|
||||
public:
|
||||
SaleWorker(string name,string id,int profit,int x):Employee(name,id){
|
||||
workerMoney=baseMoney+x*0.05*profit;
|
||||
}
|
||||
float getSalary() const {
|
||||
return workerMoney;
|
||||
}
|
||||
void print() const {
|
||||
cout<<"销售员:"<<getName()<<"\t\t 编号: "<<getID()
|
||||
<<"\t\t 总工资: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float baseMoney=800.0;
|
||||
float workerMoney;
|
||||
};
|
||||
|
||||
class HourWorker:public Employee{
|
||||
public:
|
||||
HourWorker(string name,string id,int h):Employee(name,id){
|
||||
TotalMoney=h*hourMoney;
|
||||
}
|
||||
float getSalary() const {
|
||||
return TotalMoney;
|
||||
}
|
||||
void print() const {
|
||||
cout<<"小时工:"<<getName()<<"\t\t 编号: "<<getID()
|
||||
<<"\t\t 总工资: "<<getSalary()<<endl;
|
||||
}
|
||||
private:
|
||||
float hourMoney=100.0;
|
||||
float TotalMoney;
|
||||
};
|
||||
|
||||
int main(){
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>빤<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>";
|
||||
cout<<"请输入工作周:";
|
||||
int week;
|
||||
cin>>week;
|
||||
Manager m("С<EFBFBD><EFBFBD>","11111111",week);
|
||||
Manager m("小王","11111111",week);
|
||||
m.print();
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||
cout<<"请输入销售利润:";
|
||||
int profit;
|
||||
cin>>profit;
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||
cout<<"请输入销售件数:";
|
||||
int x;
|
||||
cin>>x;
|
||||
SaleWorker s("С<EFBFBD><EFBFBD>","222222",profit,x);
|
||||
SaleWorker s("小李","222222",profit,x);
|
||||
s.print();
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>빤<EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD>";
|
||||
cout<<"请输入工作小时:";
|
||||
int hour;
|
||||
cin>>hour;
|
||||
HourWorker h("С<EFBFBD><EFBFBD>","333333",hour);
|
||||
HourWorker h("小何","333333",hour);
|
||||
h.print();
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user