Răspuns :
#include <iostream>
#include <string>
#include <list>
class Produs {
private:
std::string nume;
float pret_unitar;
std::string unitate;
public:
Produs(const std::string& _nume, float _pret_unitar, const std::string& _unitate) :
nume(_nume), pret_unitar(_pret_unitar), unitate(_unitate) {}
friend std::ostream& operator<<(std::ostream& out, const Produs& prod);
};
std::ostream& operator<<(std::ostream& out, const Produs& prod) {
out << prod.nume << ", " << prod.pret_unitar << " RON/" << prod.unitate;
return out;
}
class Magazin {
private:
std::string nume_magazin;
unsigned numar_produse;
std::list<Produs> lista_produse;
public:
Magazin(const std::string& _nume_magazin, unsigned _numar_produse) :
nume_magazin(_nume_magazin), numar_produse(_numar_produse) {}
void citeste_produse() {
for (unsigned i = 0; i < numar_produse; i++) {
std::string nume;
float pret_unitar;
std::string unitate;
std::getline(std::cin, nume);
std::getline(std::cin, unitate);
std::cin >> pret_unitar;
std::cin.get();
lista_produse.emplace_back(nume, pret_unitar, unitate);
}
}
void afiseaza_inventar() {
std::cout << nume_magazin << " :\n";
for (auto& produs : lista_produse)
std::cout << " * " << produs << std::endl;
}
};
int main() {
Produs* prod;
Magazin* maga;
//Citire produs
{
std::string nume;
float pret_unitar;
std::string unitate;
std::getline(std::cin, nume);
std::cin >> pret_unitar;
std::cin.get();
std::getline(std::cin, unitate);
prod = new Produs(nume, pret_unitar, unitate);
}
//Citire magazin
{
std::string nume_magazin;
unsigned numar_produse;
std::getline(std::cin, nume_magazin);
std::cin >> numar_produse;
std::cin.get();
maga = new Magazin(nume_magazin, numar_produse);
maga->citeste_produse();
}
//Afisare rezultat
std::cout << *prod << std::endl;
maga->afiseaza_inventar();
//Dealocare
delete maga;
delete prod;
}

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Ne vedem curând și nu uitați să ne adăugați la marcaje!