Task 3 - Sales
Здравейте имам въпрос към Task 3 - Sales.
Задачата : https://snipboard.io/As0apU.jpg.
Проблемът ми е следния : Всеки път , когато въведа нова стойност и инсъртвам в мапа става нещо странно и ми чисти всичко в него. Надявам се, че някой може да помогне !
#include <iostream>
#include <sstream>
#include <unordered_map>
#include <stack>
class Sale {
std::unordered_map <std::string, std::pair<double, int>> x;
std::string city, product; double price; int quantity;
std::stack<std::string> way;
public :
Sale(std::string city, std::string product, double price, int quantity) :
city(city), product(product), price(price), quantity(quantity) {}
void Input(void)
{
way.push(city);
x.insert(std::pair<std::string, std::pair<double, int>>(city, { price, quantity }));
}
void Output(void)
{
for (std::unordered_map <std::string, std::pair<double, int>>::iterator a = x.begin(); a !=
x.end(); ++a)
{
std::cout << x.find(way.top())->first << " -> " << x.find(way.top())->second.first * x.find(way.top())->second.second << std::endl;
way.pop();
}
}
Sale() {}
};
int main()
{
int size, quantity; std::string city, product; double price;
std::unordered_map <std::string, std::pair<double, int>> x;
std::cin >> size; Sale result;
for (int i = 0; i < size; i++)
{
std::cin >> city >> product >> price >> quantity;
Sale x(city, product, price, quantity);
x.Input();
}
result.Output();
}
Здравейте ! Ипзолзвам Visual Studio, благодаяр за съвета ! Обаче някъде трябва да пазя общата стойност. Тоест цените. Къде предлагате да е това ако не е в мапа ?
Информацията за всяка продажба (Sale) се пази в нея и може да се изчисли накрая като сума от price * quantity на всички продажби за всеки град.
Да, обаче мога да имам същият ключ примерно 2 пъти варна, но втория път може да има друга цена и бройка. Мислех си мапа да е <std::string, double>, като низа е града, а double общата цена. Аз и без за другото не е нужно да се притеснявам.