图书订购系统 The manuscript was revised on the evening of 2021
etbuyid(b[i]->getid());
ol[j].buy_one_book(c[0]->getbook_ID());
ol[j].buy_one_book(c[1]->getbook_ID());
ol[j].display();
j++;
}
}
return 0;
}
//
class book{
protected:
string book_ID;
string book_name;
string author;
string publish;
double price;
public:
book();
book(string b_id,string b_n,string au,string pu,double pr);
void display();
string getbook_ID();
string getbook_name();
string getauthor();
string getpublish();
double getprice();
};
book::book(string b_id,string b_n,string au,string pu,double pr){ book_ID=b_id;
book_name=b_n;
author=au;
publish=pu;
price=pr;
}
book::book(){
book_ID="";
book_name="";
author="";
publish="";
price=0;
}
void book::display(){
cout<<"书名:"<<book_name<<endl
<<"书号:"<<book_ID<<endl
<<"作者:"<<author<<endl
<<"出版社:"<<publish<<endl
<<"定价:"<<price<<endl;
}
string book::getbook_ID(){
return book_ID;
}
string book::getbook_name(){
return book_name;
}
string book::getauthor(){
return author;
}
string book::getpublish(){
return publish;
}
double book::getprice(){
return price;
}
//
class buyer{
protected:
string name;
int buyerID;
string addr;
double pay;
public:
buyer();
buyer(string n,int b,string a,double p);
string getbuyername();
string getaddr();
double getpay();
int getid();
virtual void display();
virtual void setpay(double=0)=0;
};
class member:public buyer{
int leaguer_grade;
public:
member(string n,int b,string a,double p,int l):buyer(n,b,a,p){
leaguer_grade=l;
}
void display();
void setpay(double p);
};
class vip:public buyer{
double discount_rate;
public:
vip(string n,int b,string a,double p,double d):buyer(n,b,a,p){
discount_rate=d;
}
void display();
void setpay(double p);
};
class common:public buyer{
public:
common(string n,int b,string a,double p):buyer(n,b,a,p){}
void display();
void setpay(double p);
};
buyer::buyer(string n,int b,string a,double p){
name=n;
buyerID=b;
addr=a;
pay=p;
}
double buyer::getpay(){
return pay;
}
string buyer::getaddr(){
return addr;
}
string buyer::getbuyername(){
return name;
}
int buyer::getid(){
return buyerID;
}
void member::display(){
cout<<"购书人姓名:"<<name<<"\t"
<<"购书人编号:"<<buyerID<<"\t"
<<"购书人会员级别:"<<leaguer_grade<<"\n"
<<"地址:"<<addr<<"\n\n";
}
void member::setpay(double p){
if(leaguer_grade==1)
pay=*p+pay;
else if(leaguer_grade==2)
pay=*p+pay;
else if(leaguer_grade==3)
pay=*p+pay;
else if(leaguer_grade==4)
pay=*p+pay;
else if(leaguer_grade==5)
pay=*p+pay;
else
cout<<"级别错误"<<endl;
}
void vip::display(){
cout<<"购书人姓名:"<<name<<"\t"
<<"购书人编号:"<<buyerID<<"\t"
<<"VIP折扣率:"<<discount_rate*100<<"%\n"
<<"地址:"<<addr<<"\n\n";
}
void vip::setpay(double p){
//pay=pay+pay(1-discount_rate)*p;
}
void common::display(){
cout<<"购书人姓名:"<<name<<"\t"
<<"购书人编号:"<<buyerID<<"\t"
<<"购书人为普通人!"<<"\n"
<<"地址:"<<addr<<"\n\n";
}
void common::setpay(double p){ //pay=pay+p;
}。