#include "../inc/class_.h"#include <iostream>using namespace std;void dealSales(){//保存当前求和结果的变量Sales_data total;//读入第一笔交易if (read(cin, total)){//保存下一条交易数据的变量Sales_data trans;//读入下一条交易数据while (read(cin, trans)){//判断isbnif (total.isbn() == trans.isbn()){//更新变量total的值total.combine(trans);}else{//输出结果print(cout, total) << endl;// isbn号不一样,说明是新类型的书// 处理新类型的书total = trans;}}//输出最后一条交易print(cout, total) << endl;}else{//没有输出任何信息cerr << "No data?!" << endl;}}double Sales_data::avg_price() const{if (units_sold)return revenue / units_sold;elsereturn 0;}Sales_data::Sales_data(const Sales_data &sa){this->bookNo = sa.bookNo;this->revenue = sa.revenue;this->units_sold = sa.units_sold;}Sales_data::Sales_data(std::istream &is){read(is, *this);}Sales_data &Sales_data::combine(const Sales_data &sa){this->units_sold += sa.units_sold;this->revenue += sa.revenue;//返回调用该函数的对象return *this;}Sales_data add(const Sales_data &sa1, const Sales_data &sa2){Sales_data total = sa1;total.combine(sa2);return total;}std::ostream &print(std::ostream &os, const Sales_data &item){os << item.isbn() << " " << item.units_sold << " "<< item.revenue << " " << item.avg_price();return os;}std::istream &read(std::istream &is, Sales_data &item){double price = 0;is >> item.bookNo >> item.units_sold >> price;return is;}std::istream &read(std::istream &is, Sales_new &item){double price = 0;is >> item.bookNo >> item.units_sold >> price;return is;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。