From 46dd78806ebac69c88cb07cecb3afae1835b783a Mon Sep 17 00:00:00 2001 From: Oskar Date: Tue, 17 Sep 2024 16:36:14 +0200 Subject: more --- sales_data.hpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'sales_data.hpp') diff --git a/sales_data.hpp b/sales_data.hpp index 31929af..7cb3022 100644 --- a/sales_data.hpp +++ b/sales_data.hpp @@ -3,14 +3,30 @@ #include struct SalesData { std::string isbn() const { return BookNo; } - SalesData &combine(const SalesData); + SalesData &combine(const SalesData&); double avg_price() const; std::string BookNo; unsigned int UnitsSold = 0; double Revenue = 0.0; }; +double SalesData::avg_price() const { + + if (UnitsSold) + return Revenue / UnitsSold; + else + return 0; +} + +SalesData& SalesData::combine(const SalesData &rhs) { + + UnitsSold += rhs.UnitsSold; + Revenue += rhs.Revenue; + return *this; +} + SalesData add(const SalesData&, const SalesData&); std::ostream &print(std::ostream&, const SalesData&); std::istream &read(std::istream&, SalesData&); + #endif -- cgit v1.2.3