Advertisement
Guest User

Untitled

a guest
Jun 26th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. struct Rivista //struttura che definisce la rivista
  6. {
  7.     int id;
  8.     char titolo[25];
  9.     float prezzo;
  10.     int quantita;
  11.     char genere[25];
  12.     char strumenti[5][25];
  13. };
  14. typedef struct Rivista rivista;
  15.  
  16.  
  17. void checkAcquisto(rivista r[], char* x) //Questa e' la funzione che controlla se e' disponibile una rivista (x) nell'elenco (r)
  18. {
  19.     int i, t = 0;
  20.     for (i=0; i<10; i++)
  21.     {
  22.        if (!strcmp(r[i].titolo, x))
  23.         {
  24.             if (r[i].quantita > 0)
  25.                 printf("La rivista \"%s\" e' disponibile e costa %.2f\n", r[i].titolo, r[i].prezzo);
  26.             else
  27.                 printf("La rivista e' esaurita\n");
  28.         t = 1;
  29.         break;
  30.         }
  31.  
  32.     }
  33.  
  34.     if (t==0)
  35.         printf("La rivista non e' presente nel database\n");
  36. }
  37.  
  38. void checkGenere(rivista r[], char* x) //Questa funzione controlla se qualche rivista ha un genere (x)
  39. {
  40.     int i, t = 0;
  41.     for (i=0; i<10; i++)
  42.     if (!strcmp(r[i].genere, x))
  43.         {
  44.         printf("%s\n", r[i].titolo);
  45.         t = 1;
  46.         }
  47.  
  48.     if (t==0)
  49.         printf("Nessuna rivista con questo genere\n");
  50. }
  51.  
  52. void checkStrumento(rivista r[], char* x) //Questa funzione controlla se
  53. {
  54.     int i,j, t = 0;
  55.     for (i=0; i<10; i++)
  56.         for (j=0; j<5; j++)
  57.     if (!strcmp(r[i].strumenti[j], x))
  58.         {
  59.         printf("%s\n", r[i].titolo);
  60.         t = 1;
  61.         }
  62.  
  63.     if (t==0)
  64.         printf("Nessuna rivista tratta questo strumento\n");
  65. }
  66.  
  67. int main()
  68. {
  69.     //Creo un array con delle riviste per fare test
  70.     rivista r[10];
  71.     //Ora metto a tutte le riviste l'id = -1 cosi se non vengono inizializzate, non vengono controllate
  72.     int i=0;
  73.     for (i=0; i<10; i++)
  74.         r[i].id = -1;
  75.     //Creo una prima rivista
  76.     r[0].id = 0;
  77.     strcpy(r[0].titolo, "Rock90");
  78.     r[0].prezzo = 2.71;
  79.     r[0].quantita = 5;
  80.     strcpy(r[0].genere,"Rock");
  81.     strcpy(r[0].strumenti[0], "Chitarra");
  82.     strcpy(r[0].strumenti[1],"Basso");
  83.     strcpy(r[0].strumenti[2], "Batteria");
  84.     strcpy(r[0].strumenti[3], "Voce");
  85.     strcpy(r[0].strumenti[4],"");
  86.  
  87.         //Creo una seconda rivista
  88.     r[1].id = 1;
  89.     strcpy(r[1].titolo, "StreetMusic");
  90.     r[1].prezzo = 3.12;
  91.     r[1].quantita = 2;
  92.     strcpy(r[1].genere,"Rap");
  93.     strcpy(r[1].strumenti[0], "Console");
  94.     strcpy(r[1].strumenti[1],"Beatbox");
  95.     strcpy(r[1].strumenti[2], "Voce");
  96.     strcpy(r[1].strumenti[3], "");
  97.     strcpy(r[1].strumenti[4],"");
  98.  
  99.         //Creo una terza rivista
  100.     r[2].id = 2;
  101.     strcpy(r[2].titolo, "Classica3000");
  102.     r[2].prezzo = 1.34;
  103.     r[2].quantita = 0;
  104.     strcpy(r[2].genere,"Classica");
  105.     strcpy(r[2].strumenti[0], "Violino");
  106.     strcpy(r[2].strumenti[1],"Pianoforte");
  107.     strcpy(r[2].strumenti[2], "Flauto");
  108.     strcpy(r[2].strumenti[3], "");
  109.     strcpy(r[2].strumenti[4],"");
  110.     //Due variabili che coordineranno la scelta
  111.     int s;
  112.     char input[24];
  113.     printf("Benvenuto nel database delle riviste musicali!\n");
  114.     do {
  115.         printf("Inserisci:\n\t1. Per controllare se una rivista e' disponibile e il suo prezzo\n\t2. Per controllare tutte le riviste di un genere musicale\n\t3. Per controllare tutte le riviste che trattano di uno strumento musicale\n");
  116.         scanf("%d", &s);
  117.         switch (s) {
  118.         case 1:
  119.             printf("Inserisci il nome della rivista da cercare\n");
  120.             scanf("%s", &input);
  121.             checkAcquisto(r, input);
  122.             break;
  123.         case 2:
  124.             printf("Inserisci il genere da cercare\n");
  125.             scanf("%s", &input);
  126.             checkGenere(r, input);
  127.             break;
  128.         case 3:
  129.             printf("Inserisci lo strumento musicale da cercare\n");
  130.             scanf("%s", &input);
  131.             checkStrumento(r, input);
  132.             break;
  133.         case 0:
  134.             printf("Grazie per aver usato il programma!\n");
  135.             break;
  136.         default:
  137.             printf("Input non valido\n");
  138.  
  139.         }
  140.         system("PAUSE");
  141.         system("CLS");
  142.     }while(s!=0);
  143.  
  144.     return 0;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement