Problem Description 超市管理系统需要计算每个商品销售额(商品单价*销售量)。因此需要定义一个sale类,数据成员包括名称、单价(实数)、销售量(实数)。成员函数包括构造函数、计算销售额函数bill()和输出商品信息函数show(). 现在决定部分商品打折,需要计算打折商品的销售额(商品单价销售量折扣率)。因此需要从sale类派生一个折扣销售类discountSale,新增数据成员折扣率(实数),成员函数包括构造函数、计算销售额函数bill()和输出商品信息函数show(). 每位顾客购买的商品可能有打折的商品,也可能没有打折的商品,需要计算该顾客所购商品的总金额。 请定义sale类和discountSale类,并将main()函数补充完整。
int main() { sale *ps[20]; int n=0; //购买商品种数 string name; //商品名称 double price; //单价 double count; //销售量 double discount; //折扣率 int flag; while(cin>>flag) { if(flag==0) //不打折商品 { cin>>name>>price>>count; //补充完整 } else if(flag==1) //打折商品 { cin>>name>>price>>count>>discount; //补充完整 } } double total=0; for(int i=0;i<n;i++) { ps[i]->show(); //显示第i个商品信息 total+=ps[i]->bill(); //累计总金额 delete ps[i]; } cout<<"Total:"<<total<<endl; return 0; }Input 输入数据有多行,代表一位顾客购买的多种商品。每一行代表一种商品的信息。 每行第一个整数为商品是否打折的标志。0代表不打折,1代表打折。 不打折商品信息包括商品名称、单价(实数)、销售量(实数)。 打折商品信息包括商品名称、单价(实数)、销售量(实数),折扣率(实数)。 具体格式见示例。
Output 输出每个商品的信息以及总金额。 不打折商品信息包括商品名称、单价(实数)、销售量(实数)、销售额(实数)。以”\t”隔开。 打折商品信息包括商品名称、单价(实数)、销售量(实数),折扣率(实数)、销售额(实数)。以”\t”隔开。 具体格式见示例。
Sample Input
0 apple 5.2 3 1 rice 3.5 2 0.85 0 pear 3 2 0 grape 8 1.5Sample Output
apple 5.2 3 15.6 rice 3.5 2 0.85 5.95 pear 3 2 6 grape 8 1.5 12 Total:39.55比较基本的补充代码的题目,因为题目已经将类内该有的东西全部讲出来了,所以答题时只要按照要求来基本就没可能错了(毕竟主函数都全部出来了)。注意输出格式。