From 6d33273f62fb78c481babeda6317d0138974ff02 Mon Sep 17 00:00:00 2001 From: Oskar Date: Sat, 5 Oct 2024 16:01:36 +0200 Subject: more --- 8p6.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 8p6.cpp (limited to '8p6.cpp') diff --git a/8p6.cpp b/8p6.cpp new file mode 100644 index 0000000..a069b2d --- /dev/null +++ b/8p6.cpp @@ -0,0 +1,46 @@ +#include +#include +#include "sales_data.hpp" + +/* + * + * 8.6 + * + * + */ + +int main (int argc, char **argv) { + + if(argc < 2 || argc > 2) { + return -1; + } + + std::fstream file(argv[1]); + if(file.fail()) { + return -1; + } + + SalesData total; + // variable to hold the running sum + if (read(file, total)) { // read the first transaction + SalesData trans; + // variable to hold data for the next transaction + while(read(file, trans)) { + // read the remaining transactions + if (total.isbn() == trans.isbn()) + // check the isbns + total.combine(trans); // update the running total + else { + print(std::cout, total) << std::endl; // print the results + total = trans; + // process the next book + } + } + print(std::cout, total) << std::endl; + // print the last transaction + } else { + // there was no input + std::cerr << "No data?!" << std::endl; + // notify the user + } +} -- cgit v1.2.3