S3_Cpp/Aufg8/ProductSale.cpp
2024-11-21 22:58:04 +01:00

63 lines
2.3 KiB
C++

//
// Created by DH10MBO on 21.11.2024.
//
#include "ProductSale.h"
#include <algorithm>
#include <cmath>
#include <iostream>
#include <sstream>
#include "../Aufg4/CrimeStats.h"
ProductSale::ProductSale(std::string line) {
std::vector<std::string> result;
split(line, ',', result);
for (int i = 0; i < result.size(); i++) {
switch (i) {
case 0: region = result[0]; break;
case 1: country = result[1]; break;
case 2: itemType = result[2]; break;
case 3: salesChannel = result[3]; break;
case 4: orderPriority = result[4]; break;
case 5: orderDate = result[5]; break;
case 6: orderId = result[6]; break;
case 7: shipDate = result[7]; break;
case 8: unitsSold = round(std::stoi(result[8])*100)/100; break;
case 9: unitPrice = round(std::stod(result[9])*100)/100; break;
case 10:unitCost = round(std::stod(result[10])*100)/100; break;
case 11:totalRevenue = round(std::stod(result[11])*100)/100; break;
case 12:totalCost = round(std::stod(result[12])*100)/100; break;
case 13:totalProfit = round(std::stod(result[13])*100)/100; break;
default:
std::cout << "I should not be able to reach, the line probably contains to many items" << std::endl;
std::cout << line << std::endl;
std::cout << "=========================" << std::endl << result[i] << std::endl;
}
}
}
std::string ProductSale::toString() {
std::ostringstream content;
content
<< "region : " << region << std::endl
<< "country : " << country << std::endl
<< "itemType : " << itemType << std::endl
<< "salesChannel : " << salesChannel << std::endl
<< "orderPriority : " << orderPriority << std::endl
<< "orderDate : " << orderDate << std::endl
<< "orderId : " << orderId << std::endl
<< "shipDate : " << shipDate << std::endl
<< "unitsSold : " << unitsSold << std::endl
<< "unitPrice : " << unitPrice << std::endl
<< "unitCost : " << unitCost << std::endl
<< "totalRevenue : " << totalRevenue << std::endl
<< "totalCost : " << totalCost << std::endl
<< "totalProfit : " << totalProfit;
return content.str();
}