Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    programma in c x la gestione di un negozio...

    codice:
    //archivio di un negozio con relativa vendita del prodotto
    #include <stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    typedef enum{LIB_T, MAG_T}tipo;
    typedef struct{
            char codice[8];
            double prezzo;
             tipo t;
            int quantita;
            union{
                   struct{
                          char titolo [30];
                          char autore [15];
                          int pagine;
                          }libro;
                   struct{
                          char motivo [30];
                          char colore [10];
                          enum{S,M,L,XL,XXL} taglia;
                          }maglietta;
                         }prodotto;
                  }archivio;
                  
                  archivio articolo [50];
                   unsigned int num_cod=0;
                  int n=0; //contatore
                  int vendita=0; //contatore delle vendite
                  double denaro=0; // contatore incassi
                  int num_lib,num_mag;
    void inserire_articolo(void);
    void ricerca_articolo();
    void visualizza_articolo(void);
    void compra_articolo (void);
    void visualizza_vendite (void);
                   int main (void){
                int scelta;
                do{
                printf("Menu archivio negozio\n");
                printf("\t 1.Inserisci un nuovo articolo\n");
                printf("\t 2.Ricerca articolo per codice\n");
                printf("\t 3.Visualizza articoli in magazzino\n");
                printf("\t 4.Compra online\n");
                printf("\t 5.Visualizza rendiconto vendite\n");
                printf("\t 6.Esci\n");
                scanf("%d",&scelta);
                system("cls");
                fflush(stdin);
                switch(scelta){
                               case 1:
                                     printf("-Aggiunta prodotto\n");
                                     printf("Inserici il tipo di articolo da aggiungere:\n");
                                     printf("0- LIBRO\n");
                                     printf("1- MAGLIETTA\n");
                                     printf("\nScelta: ");
                                     scanf("%d", &articolo[n].t); 
                                    inserire_articolo();
                               break;
                               
                               case 2: ricerca_articolo();
                               break;
                               
                               case 3: visualizza_articolo();
                               break;
                               
                               case 4: compra_articolo ();
                               break;
                               
                               case 5: visualizza_vendite();
                               break;
                               
                               case 6:
                                    break;
                               
                               default:
                                        printf("operazione non consentita\n");
                               
                }
                }
                while(scelta!=6);
                system ("pause");
                return 0;
                }
                 void inserire_articolo(){
                      double prezzo;
                 if(articolo[n].t==LIB_T){
                 num_lib=num_lib+1;
                 printf("Inserisci dati libro\n");
                 printf("inserisci il prezzo\n");
                 scanf("%d",&articolo[n].prezzo);
                 printf("inserisci la quantita disponibile\n");
                 scanf("%d",&articolo[n].quantita);
                
                 printf("Inserisci il titolo del libro\n");
                 fflush(stdin);
                 gets(articolo[n].prodotto.libro.titolo);
                
                 printf("Inserisci l'autore del libro\n");
                 gets(articolo[n].prodotto.libro.autore);
                
                 printf("Inserisci il numero delle pagine del libro\n");
                 scanf("%d",&articolo[n].prodotto.libro.pagine);
                 itoa(10000000+n,articolo[n].codice,10);
                 printf("Libro inserito con successo codiceID %s",articolo[n].codice);
                 printf("\n");
                }
                 else{
                     num_mag=num_mag+1;
                printf("inserisci dati maglietta\n");
                printf("inserisci il prezzo\n");
                scanf("%d",&articolo[n].prezzo);
                printf("inserisci la quantita disponibile\n");
                scanf("%d",&articolo[n].quantita);
                fflush(stdin);
                
                printf("Inserisci motivo maglietta\n");
                gets(articolo[n].prodotto.maglietta.motivo);
                
                printf("Inserisci colore maglietta\n");
                gets(articolo[n].prodotto.maglietta.colore);
                
                printf("Inserisci taglia maglietta:S=0,M=1,L=2,XL=3,XXL=4\n");
                scanf("%d",&articolo[n].prodotto.maglietta.taglia);
                itoa(10000000+n,articolo[n].codice,10);
                 printf("\nMaglietta inserito con successo codice ID:%s",articolo[n].codice);
                 printf("\n");
                }
                 
                n++;
                }
                void ricerca_articolo(){
                int i;
                char codice[8];
                if(num_mag==0&&num_lib==0)
                printf("nessun prodotto presente in magazzino.\nPremi per ritornare al menu\n");
                else
                printf("inserisci il codice dell'articolo da ricercare\n");
                scanf("%s",codice);
                 for(i=0;i<n;i++){
                                 if(strcmp(codice,articolo[i].codice)==0){
                                 printf("prodotto presente in magazzino\n");
                                 if(articolo[i].t==LIB_T){
                  printf("\tTitolo: %s\n",articolo[i].prodotto.libro.titolo);
                   printf("\tAutore: %s\n",articolo[i].prodotto.libro.autore);
                   printf("\tNumero pagine: %d\n",articolo[i].prodotto.libro.pagine);
                   printf("\tPrezzo: %.2d E\n",articolo[i].prezzo);
                   printf("\tQuantita': %d\n",articolo[i].quantita); 
                                 }
                                 else{
                      printf("\tMotivo: %s\n", articolo[i].prodotto.maglietta.motivo);
                      printf("\tColore: %s\n", articolo[i].prodotto.maglietta.colore);
                      printf("\tTaglia: %d\n",articolo[i].prodotto.maglietta.taglia);
                      printf("\tPrezzo: %.2f E\n",articolo[i].prezzo);
                      printf("\tQuantita': %d\n", articolo[i].quantita);
                       }
                       }
                       else printf("Prodotto non presente in magazzino\n");
                       }
                       }
                       
                        void visualizza_articolo(){
                             int i;
                              if(num_mag==0&&num_lib==0)
                printf("nessun prodotto presente in magazzino.\nPremi per ritornare al menu\n");
                 else
                 printf("Visualizzo articoli in magazzino\n");
                  for(i=0;i<n;i++){
                                   if(articolo[i].t==LIB_T){
                  printf("Dati libro\n");
                  printf("\tTitolo: %s\n",articolo[i].prodotto.libro.titolo);
                   printf("\tAutore: %s\n",articolo[i].prodotto.libro.autore);
                   printf("\tNumero pagine: %d\n",articolo[i].prodotto.libro.pagine);
                   printf("\tPrezzo: %.2f E\n",articolo[i].prezzo);
                   printf("\tQuantita': %d\n",articolo[i].quantita); 
                                 }
                                 else{
                      printf("dati maglietta\n");
                      printf("\tMotivo: %s\n", articolo[i].prodotto.maglietta.motivo);
                      printf("\tColore: %s\n", articolo[i].prodotto.maglietta.colore);
                      printf("\tTaglia: %d\n",articolo[i].prodotto.maglietta.taglia);
                      printf("\tPrezzo: %.2f E\n",articolo[i].prezzo);
                      printf("\tQuantita': %d\n", articolo[i].quantita);
                       }
                       }
                       }
                
                
                
                void compra_articolo(){
                     int tipo,quant, i;
                     char titolo[30];
                     printf("Cosa desideri acquistare? premi 0 per libro o 1 per maglietta\n");
                     scanf("%d",&tipo);
                     for(i=0;i<n;i++){
                                     if(tipo==0){
                                  if(num_lib==0) printf("Nessun libro presente in magazzino\n");
                                  else{
                                 printf("Quale libro vuoi acquistare?\n");
                                 printf("inserisci il titolo\n");
                                 fflush(stdin);
                                 gets(titolo);
                                 if(strcmp(titolo,articolo[i].prodotto.libro.titolo)==0){
                                 printf("Libro presente in magazzino, inserisci la quantita desiderata per l'acquisto\n");
                                 scanf("%d",&quant);
                                 if(quant>articolo[i].quantita)
                                 printf("La quantita richiesta non è al momento disponibile\n");
                                 else{
                                      articolo[i].quantita-=quant;
                                 vendita=quant;
                                 denaro=quant*articolo[i].prezzo;
                                 }
                                 }
                                 else printf("il libro richiesto non è presente in magazzino\n");
                                 }
                                
                                }
                                 else if(tipo==1){
                                       if(num_mag==0) printf("Nessuna maglietta presente in magazzino\n");
                                       else{
                                      printf("Quante magliette vuoi acquistare\n");
                                       scanf("%d",&quant);
                                 if(quant>articolo[i].quantita)
                                 printf("La quantita richiesta non è al momento disponibile\n");
                                 else{
                                 articolo[i].quantita-=quant;
                                 vendita=quant;
                                 denaro=quant*articolo[i].prezzo;
                                 }
                                 }
                                 }
                                 }
                                 }
                     void visualizza_vendite(){
                          printf("il numero degli articoli venduti è %d, con un incasso totale di %.2d E\n",vendita,denaro);
                          }
    Non capisco dove sta il problema.. il compilatore non da errore ed esegue correttamente il programma, ma quando cerco di visualizzare le info relative ad un prodotto alla voce prezzo mi stampa 0.00 sempre

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    leggi il prezzo con %d ma è un double...

  3. #3
    ok.. ho avuto una svista grazie per l'aiuto ora funziona

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Hai corretto anche le printf ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Hai corretto anche le printf ... ?
    si si me ne era sfuggita una

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da SpecialOne1992
    si si me ne era sfuggita una
    E quindi ? Adesso funziona ?

    Qual è il codice corretto ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    si si scusami. riposto il codice corretto.. grazie x l'aiuto risolto

    codice:
    //archivio di un negozio con relativa vendita del prodotto
    #include <stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    typedef enum{LIB_T, MAG_T}tipo;
    typedef struct{
            char codice[8];
            double prezzo;
             tipo t;
            int quantita;
            union{
                   struct{
                          char titolo [30];
                          char autore [15];
                          int pagine;
                          }libro;
                   struct{
                          char motivo [30];
                          char colore [10];
                          enum{S,M,L,XL,XXL} taglia;
                          }maglietta;
                         }prodotto;
                  }archivio;
                  
                  archivio articolo [50];
                   unsigned int num_cod=0;
                  int n=0; //contatore
                  int vendita=0; //contatore delle vendite
                  double denaro=0; // contatore incassi
                  int num_lib,num_mag;
    void inserire_articolo(void);
    void ricerca_articolo();
    void visualizza_articolo(void);
    void compra_articolo (void);
    void visualizza_vendite (void);
                   int main (void){
                int scelta;
                do{
                printf("Menu archivio negozio\n");
                printf("\t 1.Inserisci un nuovo articolo\n");
                printf("\t 2.Ricerca articolo per codice\n");
                printf("\t 3.Visualizza articoli in magazzino\n");
                printf("\t 4.Compra online\n");
                printf("\t 5.Visualizza rendiconto vendite\n");
                printf("\t 6.Esci\n");
                scanf("%d",&scelta);
                system("cls");
                fflush(stdin);
                switch(scelta){
                               case 1:
                                     printf("-Aggiunta prodotto\n");
                                     printf("Inserici il tipo di articolo da aggiungere:\n");
                                     printf("0- LIBRO\n");
                                     printf("1- MAGLIETTA\n");
                                     printf("\nScelta: ");
                                     scanf("%d", &articolo[n].t); 
                                    inserire_articolo();
                               break;
                               
                               case 2: ricerca_articolo();
                               break;
                               
                               case 3: visualizza_articolo();
                               break;
                               
                               case 4: compra_articolo ();
                               break;
                               
                               case 5: visualizza_vendite();
                               break;
                               
                               case 6:
                                    break;
                               
                               default:
                                        printf("operazione non consentita\n");
                               
                }
                }
                while(scelta!=6);
                system ("pause");
                return 0;
                }
                 void inserire_articolo(){
                     if(articolo[n].t==LIB_T){
                 num_lib=num_lib+1;
                 printf("Inserisci dati libro\n");
                 printf("inserisci il prezzo\n");
                 scanf("%lf",&articolo[n].prezzo);
                 printf("inserisci la quantita disponibile\n");
                 scanf("%d",&articolo[n].quantita);
                
                 printf("Inserisci il titolo del libro\n");
                 fflush(stdin);
                 gets(articolo[n].prodotto.libro.titolo);
                
                 printf("Inserisci l'autore del libro\n");
                 gets(articolo[n].prodotto.libro.autore);
                
                 printf("Inserisci il numero delle pagine del libro\n");
                 scanf("%d",&articolo[n].prodotto.libro.pagine);
                 itoa(10000000+n,articolo[n].codice,10);
                 printf("Libro inserito con successo codiceID %s",articolo[n].codice);
                 printf("\n");
                }
                 else{
                     num_mag=num_mag+1;
                printf("inserisci dati maglietta\n");
                printf("inserisci il prezzo\n");
                scanf("%lf",&articolo[n].prezzo);
                printf("inserisci la quantita disponibile\n");
                scanf("%d",&articolo[n].quantita);
                fflush(stdin);
                
                printf("Inserisci motivo maglietta\n");
                gets(articolo[n].prodotto.maglietta.motivo);
                
                printf("Inserisci colore maglietta\n");
                gets(articolo[n].prodotto.maglietta.colore);
                
                printf("Inserisci taglia maglietta:S=0,M=1,L=2,XL=3,XXL=4\n");
                scanf("%d",&articolo[n].prodotto.maglietta.taglia);
                itoa(10000000+n,articolo[n].codice,10);
                 printf("\nMaglietta inserito con successo codice ID:%s",articolo[n].codice);
                 printf("\n");
                }
                 
                n++;
                }
                void ricerca_articolo(){
                int i;
                char codice[8];
                if(num_mag==0&&num_lib==0)
                printf("nessun prodotto presente in magazzino.\nPremi per ritornare al menu\n");
                else
                printf("inserisci il codice dell'articolo da ricercare\n");
                scanf("%s",codice);
                 for(i=0;i<n;i++){
                                 if(strcmp(codice,articolo[i].codice)==0){
                                 printf("prodotto presente in magazzino\n");
                                 if(articolo[i].t==LIB_T){
                  printf("\tTitolo: %s\n",articolo[i].prodotto.libro.titolo);
                   printf("\tAutore: %s\n",articolo[i].prodotto.libro.autore);
                   printf("\tNumero pagine: %d\n",articolo[i].prodotto.libro.pagine);
                   printf("\tPrezzo: %.2lf E\n",articolo[i].prezzo);
                   printf("\tQuantita': %d\n",articolo[i].quantita); 
                                 }
                                 else{
                      printf("\tMotivo: %s\n", articolo[i].prodotto.maglietta.motivo);
                      printf("\tColore: %s\n", articolo[i].prodotto.maglietta.colore);
                      printf("\tTaglia: %d\n",articolo[i].prodotto.maglietta.taglia);
                      printf("\tPrezzo: %.2lf E\n",articolo[i].prezzo);
                      printf("\tQuantita': %d\n", articolo[i].quantita);
                       }
                       }
                       else printf("Prodotto non presente in magazzino\n");
                       }
                       }
                       
                        void visualizza_articolo(){
                             int i;
                              if(num_mag==0&&num_lib==0)
                printf("nessun prodotto presente in magazzino.\nPremi per ritornare al menu\n");
                 else
                 printf("Visualizzo articoli in magazzino\n");
                  for(i=0;i<n;i++){
                                   if(articolo[i].t==LIB_T){
                  printf("Dati libro\n");
                  printf("\tTitolo: %s\n",articolo[i].prodotto.libro.titolo);
                   printf("\tAutore: %s\n",articolo[i].prodotto.libro.autore);
                   printf("\tNumero pagine: %d\n",articolo[i].prodotto.libro.pagine);
                   printf("\tPrezzo: %.2lf E\n",articolo[i].prezzo);
                   printf("\tQuantita': %d\n",articolo[i].quantita); 
                                 }
                                 else{
                      printf("dati maglietta\n");
                      printf("\tMotivo: %s\n", articolo[i].prodotto.maglietta.motivo);
                      printf("\tColore: %s\n", articolo[i].prodotto.maglietta.colore);
                      printf("\tTaglia: %d\n",articolo[i].prodotto.maglietta.taglia);
                      printf("\tPrezzo: %.lf E\n",articolo[i].prezzo);
                      printf("\tQuantita': %d\n", articolo[i].quantita);
                       }
                       }
                       }
                
                
                
                void compra_articolo(){
                     int tipo,quant, i;
                     char titolo[30];
                     printf("Cosa desideri acquistare? premi 0 per libro o 1 per maglietta\n");
                     scanf("%d",&tipo);
                     for(i=0;i<n;i++){
                                     if(tipo==0){
                                  if(num_lib==0) printf("Nessun libro presente in magazzino\n");
                                  else{
                                 printf("Quale libro vuoi acquistare?\n");
                                 printf("inserisci il titolo\n");
                                 fflush(stdin);
                                 gets(titolo);
                                 if(strcmp(titolo,articolo[i].prodotto.libro.titolo)==0){
                                 printf("Libro presente in magazzino, inserisci la quantita desiderata per l'acquisto\n");
                                 scanf("%d",&quant);
                                 if(quant>articolo[i].quantita)
                                 printf("La quantita richiesta non è al momento disponibile\n");
                                 else{
                                       printf("acquisto effettuato con successo!\n");
                                      articolo[i].quantita-=quant;
                                 vendita=quant;
                                 denaro=quant*articolo[i].prezzo;
                                 }
                                 }
                                 else printf("il libro richiesto non è presente in magazzino\n");
                                 }
                                
                                }
                                 else if(tipo==1){
                                       if(num_mag==0) printf("Nessuna maglietta presente in magazzino\n");
                                       else{
                                      printf("Quante magliette vuoi acquistare\n");
                                       scanf("%d",&quant);
                                 if(quant>articolo[i].quantita)
                                 printf("La quantita richiesta non è al momento disponibile\n");
                                 else{
                                      printf("acquisto effettuato con successo!\n");
                                 articolo[i].quantita-=quant;
                                 vendita=quant;
                                 denaro=quant*articolo[i].prezzo;
                                 }
                                 }
                                 }
                                 }
                                 }
                     void visualizza_vendite(){
                          printf("il numero degli articoli venduti è %d, con un incasso totale di %.2lf E\n",vendita,denaro);
                          }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.