#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXCHAR 8
void mainmenu();
void inseriscisala(int *numerosale);
void aggiungiopera(int *numeroopere);
int esistenzacodice(char codice[MAXCHAR],int *numerosale);
int esistenzaprogressivo(int progressivo,int *numerosale);
void visualizzazionesaleopere(int numerosale,int *numeroopere);
int numeroopere(int *numeroopere,char codice[MAXCHAR],int progressivo);
void assegnaoperaasala(int numerosale,int numeroopere);
struct sala{
char nome[MAXCHAR];
char piano[MAXCHAR];
int progressivo;
}sale[50];
struct opera{
char nome[MAXCHAR];
char autore[MAXCHAR];
char tipo[MAXCHAR];
int progressivo;
char assegnazione[MAXCHAR];
int assegnazione2;
}opere[50];
int main()
{
mainmenu();
return 0;
}
void mainmenu() {
//Variabili
int numerosale = 1;
int numeroopere = 1;
int azione;
//Menù
do {
printf("Gestione Museo \n\n");
printf("1 - Inserisci nuova sala\n");
printf("2 - Inserisci nuova opera\n");
printf("3 - Associa libro a studente\n");
printf("4 - Visualizza studenti\n");
printf("5 - visualizza libri a studente\n");
printf("0 - Esci\n");
printf("Inserisci la scelta -> ");
scanf("%d", &azione);
//Controllo scelta
switch (azione) {
case 0:
printf("Arrivederci!");
break;
case 1:
system("cls");
inseriscisala(&numerosale);
break;
/* case 2:
system("cls");
assegnaoperaasala(numerosale,numeroopere);
break;
case 3:
system("cls");
visualizzazionesaleopere(numerosale, numeroopere);
break;
case 4:
system("cls");
visualizzastudenti(numerostudenti,numerolibri);
break;
*/
default:
printf("Azione non valida");
}
} while (azione != 0);
}
void inseriscisala(int *numerosale){
char codice[MAXCHAR];
int progressivo;
fflush(stdin);
printf("inserisci nome sala ");
gets(sale[*numerosale].nome);
fflush(stdin);
printf("inserisci piano sala ");
gets(sale[*numerosale].piano);
sale[*numerosale].progressivo=*numerosale;
printf("CODICE SALA: %s,PROGRESSIVO: %d",sale[*numerosale].piano,sale[*numerosale].progressivo);
printf("sala aggiunta correttamente");
*numerosale+=1;
fflush(stdin);
}
void aggiungiopera(int *numeroopere){
char codice[MAXCHAR];
int progressivo;
int indicecodice;
int indiceprogressivo;
fflush(stdin);
printf("aggiungi nome opera ");
gets(opere[*numeroopere].nome);
fflush(stdin);
printf("aggiungi autore opera ");
gets(opere[*numeroopere].autore);
fflush(stdin);
printf("aggiungi tipo opera ");
gets(opere[*numeroopere].tipo);
opere[*numeroopere].progressivo=*numeroopere;
printf("opera aggiunta correttamente ");
*numeroopere+=1;
system("PAUSE");
system("cls");
}
int esistenzacodice(char codice[MAXCHAR],int *numerosale){
int i;
for(i=0;i<=*numerosale;i++){
if(strcmp(sale[*numerosale].piano,codice)==0){
return i;
}
}
return 1;
}
int esistenzaprogressivo(int progressivo,int *numerosale){
int i;
for(i=0;i<=*numerosale;i++){
if(sale[*numerosale].progressivo==progressivo){
return i;
}
}
return 1;
}
ecco il codice da lei richiesto