Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- struct Rivista //struttura che definisce la rivista
- {
- int id;
- char titolo[25];
- float prezzo;
- int quantita;
- char genere[25];
- char strumenti[5][25];
- };
- typedef struct Rivista rivista;
- void checkAcquisto(rivista r[], char* x) //Questa e' la funzione che controlla se e' disponibile una rivista (x) nell'elenco (r)
- {
- int i, t = 0;
- for (i=0; i<10; i++)
- {
- if (!strcmp(r[i].titolo, x))
- {
- if (r[i].quantita > 0)
- printf("La rivista \"%s\" e' disponibile e costa %.2f\n", r[i].titolo, r[i].prezzo);
- else
- printf("La rivista e' esaurita\n");
- t = 1;
- break;
- }
- }
- if (t==0)
- printf("La rivista non e' presente nel database\n");
- }
- void checkGenere(rivista r[], char* x) //Questa funzione controlla se qualche rivista ha un genere (x)
- {
- int i, t = 0;
- for (i=0; i<10; i++)
- if (!strcmp(r[i].genere, x))
- {
- printf("%s\n", r[i].titolo);
- t = 1;
- }
- if (t==0)
- printf("Nessuna rivista con questo genere\n");
- }
- void checkStrumento(rivista r[], char* x) //Questa funzione controlla se
- {
- int i,j, t = 0;
- for (i=0; i<10; i++)
- for (j=0; j<5; j++)
- if (!strcmp(r[i].strumenti[j], x))
- {
- printf("%s\n", r[i].titolo);
- t = 1;
- }
- if (t==0)
- printf("Nessuna rivista tratta questo strumento\n");
- }
- int main()
- {
- //Creo un array con delle riviste per fare test
- rivista r[10];
- //Ora metto a tutte le riviste l'id = -1 cosi se non vengono inizializzate, non vengono controllate
- int i=0;
- for (i=0; i<10; i++)
- r[i].id = -1;
- //Creo una prima rivista
- r[0].id = 0;
- strcpy(r[0].titolo, "Rock90");
- r[0].prezzo = 2.71;
- r[0].quantita = 5;
- strcpy(r[0].genere,"Rock");
- strcpy(r[0].strumenti[0], "Chitarra");
- strcpy(r[0].strumenti[1],"Basso");
- strcpy(r[0].strumenti[2], "Batteria");
- strcpy(r[0].strumenti[3], "Voce");
- strcpy(r[0].strumenti[4],"");
- //Creo una seconda rivista
- r[1].id = 1;
- strcpy(r[1].titolo, "StreetMusic");
- r[1].prezzo = 3.12;
- r[1].quantita = 2;
- strcpy(r[1].genere,"Rap");
- strcpy(r[1].strumenti[0], "Console");
- strcpy(r[1].strumenti[1],"Beatbox");
- strcpy(r[1].strumenti[2], "Voce");
- strcpy(r[1].strumenti[3], "");
- strcpy(r[1].strumenti[4],"");
- //Creo una terza rivista
- r[2].id = 2;
- strcpy(r[2].titolo, "Classica3000");
- r[2].prezzo = 1.34;
- r[2].quantita = 0;
- strcpy(r[2].genere,"Classica");
- strcpy(r[2].strumenti[0], "Violino");
- strcpy(r[2].strumenti[1],"Pianoforte");
- strcpy(r[2].strumenti[2], "Flauto");
- strcpy(r[2].strumenti[3], "");
- strcpy(r[2].strumenti[4],"");
- //Due variabili che coordineranno la scelta
- int s;
- char input[24];
- printf("Benvenuto nel database delle riviste musicali!\n");
- do {
- 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");
- scanf("%d", &s);
- switch (s) {
- case 1:
- printf("Inserisci il nome della rivista da cercare\n");
- scanf("%s", &input);
- checkAcquisto(r, input);
- break;
- case 2:
- printf("Inserisci il genere da cercare\n");
- scanf("%s", &input);
- checkGenere(r, input);
- break;
- case 3:
- printf("Inserisci lo strumento musicale da cercare\n");
- scanf("%s", &input);
- checkStrumento(r, input);
- break;
- case 0:
- printf("Grazie per aver usato il programma!\n");
- break;
- default:
- printf("Input non valido\n");
- }
- system("PAUSE");
- system("CLS");
- }while(s!=0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement