Advertisement
Alessandro25

Contabilità magazzino

Nov 13th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. /*
  2. Inserire da tastiera i seguenti comandi:
  3. 1) nome prodotto E quantità se un prodotto è in entrata;
  4. 2) nome prodotto U quantità se un prodotto è in uscita;
  5. Quando tutti i prodotti sono stati inseriri digitare la parola FINE e il programma restituirà il
  6. totale dei prodotti presenti.
  7. */  
  8.  
  9. #include<stdio.h>
  10. #include<string.h>
  11.  
  12. //costanti
  13.  
  14. #define righe 50
  15. #define colonne 30
  16.  
  17. int main(){
  18.    
  19.     //variabili
  20.    
  21.     char prodotti[righe][colonne];
  22.     int quantita[righe];
  23.     char prod[colonne];
  24.     char dir;
  25.     int qta;
  26.     int trovato;
  27.     int i;
  28.     int N=0;
  29.    
  30.     //input ed elaborazione
  31.    
  32.     do{
  33.         printf("Inserire un comando: ");
  34.         scanf("%s", prod);
  35.        
  36.         if(strcmp(prod,"FINE")!=0){ //sono nel caso di terminazione?
  37.  
  38.          scanf(" %c %d", &dir, &qta);
  39.          trovato=-1;
  40.          
  41.          for(i=0;i<N;i++){ //è già presente il prodotto?
  42.          
  43.             if(strcmp(prod,prodotti[i])==0){
  44.                 trovato=i;
  45.              }
  46.          }
  47.          if(trovato!=-1){ //caso in cui il prodotto è già presente
  48.          
  49.             if(dir=='E'){ //caso in cui il prodotto è già presente
  50.            
  51.                 quantita[trovato]=quantita[trovato]+qta;
  52.                
  53.             }else{ //direzione in uscita prodotto già presente
  54.                 quantita[trovato]=quantita[trovato]-qta;
  55.                  }
  56.              }else{ //prodotto non presente
  57.              
  58.                 if(N<righe){
  59.                     strcpy(prodotti[N],prod);
  60.                     quantita[N]=qta;
  61.                     N++;
  62.                    
  63.                  }else{
  64.                     printf("Troppi prodotti");
  65.                     }
  66.                 }
  67.             }
  68.          }while(strcmp(prod,"FINE")!=0);
  69.        
  70.         //output
  71.        
  72.         printf("\nProdotti presenti nel magazzino:\n");
  73.         for(i=0;i<N;i++){
  74.             printf("\nProdotto: %s -> Quantita': %d\n", prodotti[i],quantita[i]);
  75.         }
  76.         printf("\n");
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement