Un produs e caracterizat prin nume, pret unitar (numar intreg), unitate de masura (sir de caractere).
Scrieti clasa Produs si supraincarcati operatorul de scriere, afisandu-l pe ecran conform exemplului.
Scrieti o clasa Magazin, care pe langa nume, contine o lista de produse.
Cititi datele unui magazin (nume magazin, numar produse, lista produse), si afisati un inventar al magazinului.
Sample Input:
Apa plata
2
sticla
MegaImage
2
Coca-Cola
Sticla 2L
6
Rosii
kg
9
Sample Output:
Apa plata, 2 RON/sticla
MegaImage:
* Coca-Cola, 6 RON/Sticla 2L
* Rosii, 9 RON/kg
Răspunsuri la întrebare
https://imgur.com/Er2GQi8.png <-- demonstrare ca ca codul functioneaza
Codul :
#include <iostream>
#include <string>
using namespace std;
/* Atat timp cat nu putem defini
un array cu un numar nedifinit de
elemente, compilatorul trimite warning-uri..
poti sa folosesti arr[], chiar si
pointeri, dar prefer sa fie un
program curat decat cu warning-uri.. */
#define nProducts 10 // Definteste cat doresti
typedef struct {
string product_name, product_unit;
string currency = "RON";
int product_amount;
} item;
class _shop {
private:
string name;
int products;
item list[nProducts];
public:
void setName(string _name);
void setProducts(int _products);
void addProduct(string name, string unit, int amout, int index);
string returnName();
int returnProducts();
item returnItem(int index);
};
void _shop::setName(string _name){
name = _name;
};
void _shop::setProducts(int _products){
products = _products;
};
void _shop::addProduct(string name, string unit, int amout, int index){
list[index].product_name = name;
list[index].product_unit = unit;
list[index].product_amount = amout;
}
string _shop::returnName(){
return name;
}
int _shop::returnProducts(){
return products;
}
item _shop::returnItem(int index){
return list[index];
}
int main(){
_shop shop;
item temp;
/* string.h nu suporta spatii in siruri
de caracter! !Hello World -> !Hello_World */
// howly input below
cin >> temp.product_name;
cin >> temp.product_amount;
cin >> temp.product_unit;
shop.addProduct(temp.product_name, temp.product_unit, temp.product_amount, 0);
// shop name
string sname;
cin >> sname;
shop.setName(sname);
// idk random var to store amount of products
int r_amount = 0;
cin >> r_amount;
shop.setProducts(r_amount);
// main cin loop
for(int i = 1; i <= shop.returnProducts(); i++){
cin >> temp.product_name;
cin >> temp.product_unit;
cin >> temp.product_amount;
shop.addProduct(temp.product_name, temp.product_unit, temp.product_amount, i);
};
// OUTPUTTTT
cout << endl; // some francais space :3
temp = shop.returnItem(0);
cout << temp.product_name << ", " << temp.product_amount << " " << temp.currency << "/" << temp.product_unit << endl;
cout << shop.returnName() << ":" << endl;
for(int i = 1; i <= shop.returnProducts(); i++){
temp = shop.returnItem(i);
cout << "* " << temp.product_name << ", " << temp.product_amount << " " << temp.currency << "/" << temp.product_unit << endl;
};
return 0;
};