Guest User

Untitled

a guest
Jan 22nd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. //ADD --- sconto comitiva ---
  5.  
  6. int main() {
  7.     int scelta, c1, c2, num_b,prenotazioni=0,flag=1,cont=0,i=0,pren[8],flag1=0;
  8.     float prezzo=0.09, costo=0;
  9.     char nom[20], cogn[20];
  10.     typedef char citta[9];
  11.     citta cita[8] = {"BARI","TORINO","MILANO","ANCONA","FOGGIA","PALERMO","BRINDISI","ROMA"};
  12.     int distanze[8][8]={{0,1000,850,500,200,450,100,550},
  13.                         {1000,0,150,400,800,1200,1100,450},
  14.                         {850,150,0,250,650,1200,950,450},
  15.                         {500,400,250,0,300,800,600,250},
  16.                         {200,850,650,300,0,550,300,400},
  17.                         {450,1200,1200,800,550,0,500,450},
  18.                         {100,1100,950,600,300,500,0,600},
  19.                         {550,450,450,250,400,450,600,0}};
  20.     struct viaggio {
  21.            char cognome[50];
  22.            char nome[50];
  23.            int partenza;
  24.            int arrivo;
  25.            int biglietti;
  26.            double costo;
  27.    }viaggiatori[10];
  28.    for (i=0;i<8;i++){
  29.        pren[i]=0;
  30.    }
  31.           do{
  32.            do{
  33.                  flag1=0;
  34.                  printf("\nMenu':\n");
  35.            printf("1.   Visualizza la distanza aerea tra due citta'\n");
  36.            printf("2.   Prenotare biglietti\n");
  37.            printf("3.   Visualizza tutte le prenotazioni per citta' di arrivo\n");
  38.            printf("4.   Visualizza la destinazione piu' quotata\n");
  39.            printf("5.   ESCI\n");
  40.            scanf("%d",&scelta);
  41.            if(scelta>5 || scelta<1){
  42.                    flag1=1;
  43.            }      
  44.            }while(flag1==1);
  45.            
  46.          
  47.                                 flag=0;
  48.            switch (scelta){
  49.                  
  50.                             case 1: {
  51.                                  
  52.                                  do{
  53.                                      flag1=0;
  54.                                    printf("Seleziona citta' di partenza:\n");
  55.                                  for (i=0;i<8;i++){
  56.                                      printf("%d.     %s\n",i,cita[i]);
  57.                                  }
  58.                                  scanf("%d",&c1);
  59.                                  if(c1>7 ||c1<0){
  60.                                          flag1=1;
  61.                                          }      
  62.                                  }while(flag1==1);
  63.                                  
  64.                                  do{
  65.                                     flag1=0;
  66.                                     printf("Seleziona citta' di arrivo:\n");
  67.                                     for (i=0;i<8;i++){
  68.                                      printf("%d.     %s\n",i,cita[i]);
  69.                                      }
  70.                                      scanf("%d",&c2);
  71.                                      
  72.                                      if(c2>7 ||c2<0){
  73.                                          flag1=1;
  74.                                      }    
  75.                                  }while(flag1==1);
  76.                                  printf("la distanza tra le due citta' e' %d\n", distanze [c1][c2]);
  77.                                  break;
  78.                             }
  79.                             case 2: {
  80.                                  printf("Nome:");
  81.                                  scanf("%str",&nom);
  82.                                  printf("Cognome:");
  83.                                  scanf("%str",&cogn);
  84.                                  
  85.                                  do{
  86.                                      flag1=0;
  87.                                    printf("Seleziona citta' di partenza:\n");
  88.                                  for (i=0;i<8;i++){
  89.                                      printf("%d.     %s\n",i,cita[i]);
  90.                                  }
  91.                                  scanf("%d",&c1);
  92.                                  if(c1>7 ||c1<0){
  93.                                          flag1=1;
  94.                                          }      
  95.                                  }while(flag1==1);
  96.                                  
  97.                                  do{
  98.                                     flag1=0;
  99.                                     printf("Seleziona citta' di arrivo:\n");
  100.                                     for (i=0;i<8;i++){
  101.                                      printf("%d.     %s\n",i,cita[i]);
  102.                                      }
  103.                                      scanf("%d",&c2);
  104.                                      
  105.                                      if(c2>7 ||c2<0){
  106.                                          flag1=1;
  107.                                      }    
  108.                                  }while(flag1==1);
  109.                                  
  110.                                  printf("Quanti biglietti vuoi acquistare?:\n");
  111.                                  scanf("%d",&num_b);
  112.                                  pren[c2]+=num_b;
  113.                                  printf("La distanza tra le due citta' e' %d\n", distanze [c2][c1]);
  114.                                  costo=prezzo*distanze [c1][c2]*num_b;
  115.                                  printf("Il costo totale e' %.2f\n",costo);
  116.                                  
  117.                                  strcpy(viaggiatori[prenotazioni].cognome,cogn);
  118.                                  strcpy(viaggiatori[prenotazioni].nome,nom);
  119.                                  viaggiatori[prenotazioni].partenza=c1;
  120.                                  viaggiatori[prenotazioni].arrivo=c2;
  121.                                  viaggiatori[prenotazioni].biglietti=num_b;
  122.                                  viaggiatori[prenotazioni].costo=costo;
  123.                                  prenotazioni++;
  124.                                  break;
  125.                                  }
  126.                                  case 3: {
  127.                                       cont=0;
  128.                                       printf("Seleziona citta' di arrivo:\n");
  129.                                       for (i=0;i<8;i++){
  130.                                           printf("%d.     %s\n",i,cita[i]);
  131.                                       }
  132.                                       scanf("%d",&c2);
  133.                                      
  134.                                      if(c2>7 ||c2<0){
  135.                                          flag1=1;
  136.                                      }    
  137.                                  }while(flag1==1);
  138.                                  for(i=0;i<prenotazioni;i++){
  139.                                       if(viaggiatori[i].arrivo==c2){
  140.                                            cont ++;
  141.                                       }
  142.                                  }
  143.                                  if(cont!=0){
  144.                                       for(i=0;i<prenotazioni;i++){
  145.                                            if(viaggiatori[i].arrivo==c2){
  146.                                                 printf("Nome:%s  Cognome:%s\nNumero Biglietti:%d  Costo:%.2lf\n",viaggiatori[i].nome,viaggiatori[i].cognome,viaggiatori[i].biglietti,viaggiatori[i].costo);                                                                  
  147.                                            }
  148.                                       }
  149.                                  }else{
  150.                                        printf("Non c'e' alcuna prenotazione per questa citta'... PIRLA!!!\n");      
  151.                                  }            
  152.                                        break;                        
  153.                                      
  154.                                  case 4:{
  155.                                       int max_p=0;
  156.                                       for (i=0;i<8;i++){
  157.                                           if (pren[i]>max_p){
  158.                                              max_p=i;
  159.                                           }
  160.                                       }
  161.                                       printf("La citta' con piu' prenotazioni e' %s\n",cita[max_p]);
  162.                                       break;
  163.                                       }
  164.                                      
  165.                                  case 5:{
  166.                                       flag=1;
  167.                                       break;
  168.                                       }
  169.                   }
  170.                  
  171.                   }while(flag==0);
  172.                   system("pause");
  173. }
Add Comment
Please, Sign In to add comment