64,663
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
//#include "..\..\comm\Sales_item.h"
#include <iostream>
#include <string>
using namespace std;
class Sales_item
{
friend istream& operator>>(istream &in, Sales_item &s);
public:
Sales_item(): units_sold(0), revenue(0.0) {}
Sales_item(const string &book):isbn(book), units_sold(0), revenue(0.0){}
public:
Sales_item& operator+=(const Sales_item &);
public:
double avg_price() const;
inline bool same_isbn(const Sales_item &rhs) const { return isbn == rhs.isbn;}
private:
string isbn;
unsigned units_sold;
double revenue;
};
istream& operator>>(istream &in, Sales_item &s)
{
double price;
in >> s.isbn >> s.units_sold >> price;
if(in)
{
s.revenue = s.units_sold * price;
}
else
{
s = Sales_item();
}
return in;
}
inline Sales_item& Sales_item::operator+=(const Sales_item &rhs)
{
units_sold += rhs.units_sold;
revenue += rhs.revenue;
return *this;
}
inline double Sales_item::avg_price() const
{
if(units_sold)
{
return revenue / units_sold;
}
else
{
return 0;
}
}
int main(int argc, char* argv[])
{
Sales_item book;
/*
cout << "Enter transactions: " << endl;
while(cin >> book)
{
cout << "ISBN, number of copies sold, "
<< "total revenue, and average price are: "
<< endl;
cout << book << endl;
}
*/
return 0;
}