63 lines
2.3 KiB
C++
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();
|
|
}
|