#include <iostream> #include <sstream> #include <cstring> #include <ctime> #include <unistd.h> #define M 5 using namespace std; struct CentroCommerciale{ string nome="Le Piazze, Castel Maggiore"; Negozi Negozi[5]; }; struct Cosa{ string nome="Niente"; int pos=0; int q=0; double prezzo=5; }; struct Persona{ string nome; Cosa oggetto; double soldi=30.0; }; struct Negozio{ string nome; Cosa cose[M]; int N=M; Persona commessa; }; void inizializzaNegozio(Negozio &neg, string nome){ srand(time(0)); string nomi[]={"Ada","Gioia","Aurora","Tonia","Eva"}; neg.nome=nome; neg.commessa.nome=nomi[rand()%5]; stringstream ss; for(int i=0;i<neg.N;i++) { ss.str(""); ss<<"Cosa_"<< i; neg.cose[i].nome= ss.str(); neg.cose[i].q=10+i; } } void preleva(Negozio &neg,int pos,int quant){ if(neg.cose[pos].q >= quant) { neg.cose[pos].q -=quant; }else { neg.cose[pos].q=0; cout << "scorte non sufficienti!!!\n"; } } void deposita(Negozio &neg,int pos,int quant){ neg.cose[pos].q += quant; } void stampaNegozio(Negozio neg){ cout<<neg.nome<<" gestita da "+neg.commessa.nome+" ha "<<neg.N<<" parti:\n"; for(int i=0;i<neg.N;i++) cout<<neg.cose[i].nome<<" con la quantita\' di "<< neg.cose[i].q<<"\n"; } void gestioneNegozio(Negozio &neg,string nome){ inizializzaNegozio(neg, nome); stampaNegozio(neg); preleva(neg,2,5); deposita(neg,0,7); stampaNegozio(neg); } void stampaCliente(Persona cliente){ std::cout << cliente.nome << " ha un " << cliente.oggetto.nome; std::cout << " e " << cliente.soldi << " Euro\n"; } int main() { cout << "structNegozio" << endl; Negozio Negozi[5]; Negozio farmacia; Negozio ferramenta; Negozio abbigliamento; Negozio alimentari; Negozio giardinaggio; inizializzaNegozio(CentroCommerciale.farmacia, "SanitariaFarmaceutica"); stampaNegozio(CentroCommerciale.farmacia); Persona cliente; cliente.nome="Paolo"; stampaCliente(cliente); preleva(farmacia,2,1); cliente.oggetto = CentroCommerciale.farmacia.cose[2]; cliente.soldi -= CentroCommerciale.farmacia.cose[2].prezzo; stampaCliente(cliente); stampaNegozio(CentroCommerciale.farmacia); inizializzaNegozio(CentroCommerciale.ferramenta, "LaFerramentadiSimone"); stampaNegozio(CentroCommerciale.ferramenta); cliente.nome="Lorenzo"; stampaCliente(cliente); preleva(ferramenta,4,2); cliente.oggetto = CentroCommerciale.ferramenta.cose[4]; cliente.soldi -= CentroCommerciale.ferramenta.cose[4].prezzo; stampaCliente(cliente); stampaNegozio(CentroCommerciale.ferramenta); inizializzaNegozio(CentroCommerciale.abbigliamento, "BASE12"); stampaNegozio(CentroCommerciale.abbigliamento); cliente.nome="Giulio"; stampaCliente(cliente); preleva(CentroCommerciale.abbigliamento,5,1); cliente.oggetto = CentroCommerciale.abbigliamento.cose[5]; cliente.soldi -= CentroCommerciale.abbigliamento.cose[5].prezzo; stampaCliente(cliente); stampaNegozio(CentroCommerciale.abbigliamento); inizializzaNegozio(CentroCommerciale.alimentari, "LaCucinadiMammaLaura"); stampaNegozio(CentroCommerciale.alimentari); cliente.nome="Marco"; stampaCliente(cliente); preleva(CentroCommerciale.alimentari,1,3); cliente.oggetto = CentroCommerciale.alimentari.cose[1]; cliente.soldi -= CentroCommerciale.alimentari.cose[1].prezzo; stampaCliente(cliente); stampaNegozio(CentroCommerciale.alimentari); inizializzaNegozio(CentroCommerciale.giardinaggio, "IlGiardinodiPapàEnrico"); stampaNegozio(CentroCommerciale.giardinaggio); cliente.nome="Anhelina"; stampaCliente(cliente); preleva(CentroCommerciale.giardinaggio,0,5); cliente.oggetto = CentroCommerciale.giardinaggio.cose[0]; cliente.soldi -= CentroCommerciale.giardinaggio.cose[0].prezzo; stampaCliente(cliente); stampaNegozio(CentroCommerciale.giardinaggio); return 0; }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more