Update 编程实例.cpp

This commit is contained in:
Jimp
2021-12-11 13:47:34 +08:00
committed by GitHub
parent 388564c9d9
commit 221daa9bb2

View File

@@ -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;
}
}