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,91 +1,91 @@
/* /*
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> 某公司有经理、销售员、小时工等多类人员。经理按周计算薪金销售员每月底薪800元
Ȼ<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> 然后加销售提成每销售1件产品提取销售利润的5%;小时工按小时计算薪金。每类人员都有姓名和身份证号等数据。
Ϊ<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> 为简化问题把各类人员的共有信息抽象成基类Employee其他人员则继承该类的功能。
*/ */
#include <iostream> #include <iostream>
#include <string> #include <string>
using namespace std; using namespace std;
class Employee{ class Employee{
public: public:
Employee(string Name ,string id){ name=Name; Id=id; } Employee(string Name ,string id) : name(Name), Id(id){ }
string getName(){ return name; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> string getName() const { return name; } //返回姓名
string getID(){ return Id; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4> string getID() const { return Id; } //返回身份证号
float getSalary(){ return 0.0; } //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>нˮ virtual float getSalary() const { return 0.0; } //返回薪水
void print(){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4> virtual void print() const { //输出姓名和身份证号
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<name<<"\t\t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<Id<<endl; cout<<"姓名: "<<name<<"\t\t 编号: "<<Id<<endl;
} }
private: private:
string name; string name;
string Id; 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><>н
}; };
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{ class SaleWorker:public Employee{
public: public:
SaleWorker(string name,string id,int profit,int x):Employee(name,id){ SaleWorker(string name,string id,int profit,int x):Employee(name,id){
workerMoney=baseMoney+x*0.05*profit; workerMoney=baseMoney+x*0.05*profit;
} }
float getSalary(){ float getSalary() const {
return workerMoney; return workerMoney;
} }
void print(){ void print() const {
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>"<<getName()<<"\t\t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "<<getID() cout<<"销售员:"<<getName()<<"\t\t 编号: "<<getID()
<<"\t\t <EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>: "<<getSalary()<<endl; <<"\t\t 总工资: "<<getSalary()<<endl;
} }
private: private:
float baseMoney=800.0; float baseMoney=800.0;
float workerMoney; 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;
}; };
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(){ int main(){
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>"; cout<<"请输入工作周:";
int week; int week;
cin>>week; cin>>week;
Manager m("С<EFBFBD><EFBFBD>","11111111",week); Manager m("小王","11111111",week);
m.print(); m.print();
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"; cout<<"请输入销售利润:";
int profit; int profit;
cin>>profit; cin>>profit;
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"; cout<<"请输入销售件数:";
int x; int x;
cin>>x; cin>>x;
SaleWorker s("С<EFBFBD><EFBFBD>","222222",profit,x); SaleWorker s("小李","222222",profit,x);
s.print(); s.print();
cout<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD>"; cout<<"请输入工作小时:";
int hour; int hour;
cin>>hour; cin>>hour;
HourWorker h("С<EFBFBD><EFBFBD>","333333",hour); HourWorker h("小何","333333",hour);
h.print(); h.print();
system("pause"); system("pause");
return 0; return 0;