Visualizzazione dei risultati da 1 a 10 su 16

Visualizzazione discussione

  1. #3
    Utente bannato
    Registrato dal
    Oct 2013
    Messaggi
    23
    codice:
    int main()
    {
        Prodotto prodotti[PRODOTTO];
        Venditore venditori[VENDITORE];
        Vendita vendite[VENDITE];
        int n_vend=0;
        int n_prod=0;
        int n_v=0;
        int input;
        int anno, mese, giorno;
        do
        {
            stampa_menu();
            do
            {
                printf("Inserisci un codice.\n");
                scanf("%d", &input);
                puts("");
            }while(input < 0 || input > 7);
            switch (input)
            {
            case 1: /*AGGIUNGI UN VENDITORE*/
                {
                    if ((aggiungi_venditore(venditori, &n_vend))==1)
                    {
                        stampa_venditori(venditori, n_vend);
                    }
                    break;
                }
            case 2: /*AGGIUNGI UN PRODOTTO*/
                {
                   if ((aggiungi_prodotto(prodotti, &n_prod))==1)
                    {
                        stampa_prodotti(prodotti, n_prod);
                    }
                    break;
                }
            case 3: /*INSERISCI VENDITA*/
                {
                    if((aggiungi_vendita(venditori, vendite, prodotti, n_vend, &n_v, n_prod))==1)
                    {
                        stampa_vendite(vendite, n_v);
                    }
                    break;
                }
            case 4: /*CLASSIFICA GLOBALE*/
                {
                    if(n_v>0)
                    {
                        ordina_vendite_idVend(vendite,n_v);
                        stampa_vendite_totali_venditori(vendite, n_v);
                        puts("");
                        ordina_vendite_idProd(vendite, n_v);
                        stampa_vendite(vendite, n_v);
                        stampa_vendite_totali_prodotti(vendite,n_v);
                    }
                    break;
                }
            case 5: /*CLASSIFICA GIORNALIERA*/
                {
                    if(n_v>0)
                    {
         printf("Inserisci una data valida di vendita!!\n");
                        printf("inserisci la data: gg mm aaaa");
                        scanf("%d %d %d",&giorno, &mese, &anno);
                        ordina_vendite_idVend(vendite,n_v);
                        stampa_vendite_giornaliera_venditori(vendite,n_v,anno,mese,giorno);
                    }
                    break;
                }
            case 7:
                {
                    stampa_venditori(venditori, n_vend);
                    break;
                }
            }
        }while(input!=0);
        return 0;
    }
    void stampa_menu()
    {
        printf("\n--------------------------------ELENCO OPERAZIONI-------------------------------\n");
        printf("\t\t[1] Per aggiungere un venditore.\n");
        printf("\t\t[2] Per aggiungere un prodotto.\n");
        printf("\t\t[3] Per inserire una vendita.\n");
        //printf("\t\t[4] Per stampare le vendite totali dei prodotti (globale).\n");
        printf("\t\t[4] Per visualizzare la classifica globale.\n");
        printf("\t\t[5] Per visualizzare la classifica di un giorno.\n");
        //printf("[6] Classifica prodotti piu venduti in tutto il periodo.\n");
        printf("\t\t[7] Per stampare l'array venditori.\n");
        printf("\t\t[0] ESCI.\n\n\n");
    }
    /*////////////////////////////////FUNZIONI PER I VENDITORI\\\\\\\\\\\\\\\\\\\\\\*/
    int aggiungi_venditore(Venditore *vend, int *n_vend)
    {
        int i=0;
        int cod;
        do
        {
            printf("Inserisci il codice del venditore ( maggiore di 0 ): ");
            scanf("%d", &cod);
            puts("");
        }while(cod <=0);
        for(i=0; i<(*n_vend); i++)
        {
            if (vend[i].cod_v == cod)
            {
                printf("\nEsiste gia\' un venditore con quel id.\n");
                return -1;
            }
        }
        vend[i] = leggi_venditore(cod);
        (*n_vend)++; /*incremento la variabile che conta il numero dei venditori presenti nell'array*/
        return 1;
    }
    Venditore leggi_venditore(int cod)
    {
        Venditore vend;
        vend.cod_v=cod;
        printf("\nInserisci il nome del venditore: ");
        scanf("%s", vend.nome);
        printf("\nInserisci il cognome del venditore: ");
        scanf("%s", vend.cognome);
        return vend;
    }
    void stampa_venditori(Venditore* vend, int n_vend)
    {
        int i;
        for (i=0; i<n_vend; i++)
        {
            printf("id venditore=%d\t", vend[i].cod_v);
            printf("nome = %s\t", vend[i].nome);
            printf("cognome = %s\t", vend[i].cognome);
            puts("");
        }
    }
    /*//////////////FUNZIONE PER I PRODOTTI\\\\\\\\\\\\\\\\\\\\\\\\*/
    int aggiungi_prodotto(Prodotto* prod, int *n_prod)
    {
        int i=0;
        int cod;
        do
        {
            printf("Inserisci il codice del prodotto ( maggiore di 0 ): ");
            scanf("%d", &cod);
            puts("");
        }while(cod <=0);
        for(i=0; i<(*n_prod); i++)
        {
            if (prod[i].cod_p == cod)
            {
                printf("\nEsiste gia\' un prodoto con quel id.\n");
                return -1;
            }
        }
        prod[i] = leggi_prodotto(cod);
        (*n_prod)++; /*incremento la variabile che conta il numero dei prodotti presenti nell'array*/
        return 1;
    }
    Prodotto leggi_prodotto(int cod)
    {
        Prodotto prod;
        prod.cod_p=cod;
        printf("\nInserisci il nome del prodotto: ");
        scanf("%s", prod.nome);
        printf("\nInserisci il prezzo del prodotto: ");
        scanf("%d", &prod.prezzo);
        return prod;
    }
    void stampa_prodotti(Prodotto* prod, int n_prod)
    {
        int i;
        for (i=0; i<n_prod; i++)
        {
            printf("\nid prodotto=%d\t", prod[i].cod_p);
            printf("nome = %s\t", prod[i].nome);
            printf("prezzo = %d\t", prod[i].prezzo);
            puts("");
        }
    }
    /*////////////FUNZIONI GENERALI\\\\\\\\\\\\\\\\\\\\\\\\*/
    int trova_venditore(Venditore *vend, int n_vend)
    {
        int i=0;
        int cod;
        do
        {
            printf("Inserisci il codice del venditore ( maggiore di 0 ): ");
            scanf("%d", &cod);
            puts("");
        }while(cod <=0);
        for(i=0; i<n_vend; i++)
        {
            if (vend[i].cod_v == cod)
            {
                return cod;
            }
        }
        printf("\nNon esiste nessun venditore con quel ID.");
        return -1;
    }
    int trova_prodotto(Prodotto *prod, int n_prod)
    {
        int i=0;
        int cod;
        do
        {
            printf("Inserisci il codice del prodotto ( maggiore di 0 ): ");
            scanf("%d", &cod);
            puts("");
        }while(cod <=0);
        for(i=0; i<n_prod; i++)
        {
            if (prod[i].cod_p == cod)
            {
                return cod;
            }
        }
        printf("\nNon esiste nessun prodotto con quel ID.");
        return -1;
    }
    /*//////////////////FUNZIONI PER LE VENDITE\\\\\\\\\\\\\\\\\\\\\\\*/
    int aggiungi_vendita(Venditore *vend, Vendita *ven, Prodotto *prod, int n_vend, int *n_v, int n_prod)
    {
        int cod_v;
        int cod_p;
        cod_v=trova_venditore(vend, n_vend);
        if ( cod_v != -1)
        {
            cod_p=trova_prodotto(prod, n_prod);
            if (cod_p != -1)
            {
                 ven[(*n_v)]=leggi_vendita(cod_v, cod_p);
                (*n_v)++; /*incremento il contatore delle vendite*/
                return 1;
            }
        }else return -1;
    }
    Vendita leggi_vendita(int cod_v, int cod_p)
    {
        Vendita ven;
        ven.cod_v=cod_v;
        ven.cod_p=cod_p;
        printf("\nInserisci la quantita\' venduta: ");
        scanf("%d", &ven.quantita);
        printf("\nInserisci l'anno in cui e\' stato venduto: ");
        scanf("%d", &ven.anno);
        printf("\nInserisci il mese in cui e\' stato venduto: ");
        scanf("%d", &ven.mese);
        printf("\nInserisci il giorno in cui e\' stato venduto: ");
        scanf("%d", &ven.giorno);
        return ven;
    }
    void stampa_vendite(Vendita* ven, int n_v)
    {
        int i;
        for (i=0; i<n_v; i++)
        {
            printf("\nid venditore=%d\t", ven[i].cod_v);
            printf("\nid prodotto=%d\t", ven[i].cod_p);
            printf("\nquantita\' = %d\t", ven[i].quantita);
            printf("\nin data: %d-%d-%d\n", ven[i].giorno, ven[i].mese, ven[i].anno);
            puts("");
        }
    }
    void ordina_vendite_idProd(Vendita *vend, int n_v)/*ordino le vendite per vend.cod_p*/
    {
        int i=0;
        int a;
        Vendita v;
       for(i=0; i<n_v; i++)
        {
            for(a=i; a<n_v-1; a++)
            {
                if(vend[a].cod_p>vend[a+1].cod_p)/*ordino in modo crescente*/
                {
                    v=vend[a];
                    vend[a]=vend[a+1];
                    vend[a+1]=v;
                }
            }
        }
    }
    void ordina_vendite_idVend(Vendita *vend, int n_v)/*ordino le vendite per vend.cod_v*/
    {
        int i=0;
        int a;
        Vendita v;
       for(i=0; i<n_v; i++)
        {
            for(a=i; a<n_v-1; a++)
            {
                if(vend[a].cod_v>vend[a+1].cod_v)/*ordino in modo crescente*/
                {
                    v=vend[a];
                    vend[a]=vend[a+1];
                    vend[a+1]=v;
                }
            }
        }
    }
    void stampa_vendite_giornaliera_venditori(Vendita *vend, int n_v, int anno, int mese, int giorno)/*classifica venditori giornaliera*/
    {
        int i;
        int a;
        int cod_v;
        int qnt;
        printf("PERIODO SELEZIONATO: %d-%d-%d\n",giorno,mese,anno);
        for(i=0; i<n_v;)
        {
            cod_v=vend[i].cod_v;
            qnt=0;
            while(cod_v== vend[i].cod_v && i<n_v)
            {
                if (vend[i].anno==anno && vend[i].mese==mese && vend[i].giorno==giorno)
                {
                    qnt+=vend[i].quantita;
                    i++;
                }
            }
            printf("cod_v: %d\tquantita\' venduta in totale: %d\n",cod_v, qnt);
        }
    }
    void stampa_vendite_totali_venditori(Vendita *vend, int n_v)/*classifica venditori globale*/
    {
        int i;
        int a;
        int cod_v;
        int qnt;
        printf("\n\t\tCLASSIFICA GLOBALE VENDITORI\n");
        for(i=0; i<n_v;)
        {
            cod_v=vend[i].cod_v;
            qnt=0;
            while(cod_v== vend[i].cod_v && i<n_v)
            {
                qnt+=vend[i].quantita;
                i++;
            }
            printf("cod_v: %d\tquantita\' venduta in totale: %d\n",cod_v,qnt);
        }
    }
    void stampa_vendite_totali_prodotti(Vendita *vend, int n_v)/*classifica prodotti globale*/
    {
        int i;
        int a;
        int cod_p;
        int qnt;
        int classifica[VENDITORE][2];/*nella prima colonna c'è il codice del prodotto, nella seconda la quantita totale venduta*/
        int c=0;
        printf("\n\t\tCLASSIFICA GLOBALE PRODOTTI\n");
        for(i=0; i<n_v;)
        {
            //cod_p=vend[i].cod_p;
            //qnt=0;
            classifica[c][0]=vend[i].cod_p;
            classifica[c][1]=0;/*quantita*/
            while(classifica[c][0]== vend[i].cod_p && i<n_v)
            {
                //qnt+=vend[i].quantita;
                classifica[c][1]+=vend[i].quantita;
                i++;
            }
            c++;
            //printf("cod_p: %d\tquantita\' venduta in totale: %d\n",classifica[i][0],qnt);
        }
        for (i=0; i<n_v; i++)
        {
            printf("i=%d   cod_p: %d\tquantita\' venduta in totale: %d\n",i, classifica[i][0],classifica[i][1]);
        }
        int temp[1][2];
        int min;
        for(i=0; i<n_v-1; i++)
        {
            min = i;
            for(a=i+1; a<n_v; a++)
            {
                if(classifica[a][1]<classifica[min][1])
                {
                    min = a;
                }
            }
            temp[0][0] =classifica[min][0];
            temp[0][1] =classifica[min][1];
            classifica[min][0]=classifica[i][0];
            classifica[min][1]=classifica[i][1];
            classifica[i][0]=temp[0][0];
            classifica[i][1]=temp[0][1];
        }
     
    
      /*  for (i=0; i<n_v; i++)
        {
            for(a=i+1; a<n_v-1; a++)
            {
                if(classifica[i][1]<classifica[a][1])
                {
                    tmp[0][0]=classifica[a][0];
                    tmp[0][1]=classifica[a][1];
                    classifica[a][0]=classifica[i][0];
                    classifica[a][1]=classifica[i][1];
                    classifica[i][0]=tmp[0][0];
                    classifica[i][0]=tmp[0][1];
                }
            }
        }*/
        for (i=0; i<n_v; i++)
        {
            printf("i=%d   cod_p: %d\tquantita\' venduta in totale: %d\n",i, classifica[i][0],classifica[i][1]);
        }
    }
    Ultima modifica di MItaly; 12-12-2013 a 17:52 Motivo: tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.