Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

CENTROCOMMERCIALE (NON FUNZIONANATE!)

#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;
}

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.