/* Il programma gestisce le prenotazioni di un teatro avente dieci file di dieci posti ciascuna. E' presente un menų che permette la scelta tra prenotazione e uscita dal programma. Al momento della prenotazione le coordinate del posto. Se vengono richiesti pių posti di quelli disponibili il programma restituisce un messaggio di errore.*/ #include #include #define FILE 10 #define POSTI 10 int teatro [FILE] [POSTI]; void libera (void); void prenota (int n); int main() { int scelta,n; int postidisp=FILE*POSTI; libera(); do { /*Gestione menų*/ printf("\nDigita 1 se vuoi prenotare \nDigita 0 se vuoi uscire\n"); scanf("%d",&scelta); if (scelta==1) { /*Inserimento numero posti da prenotare*/ printf("Quanti posti vuoi prenotare?"); scanf("%d",&n); if(n<=postidisp && n>0) { prenota(n); postidisp-=n; } /*Messaggio di errore se i posti richiesti sono maggiori di quelli disponibili e se il numero richiesto č uguale o minore di 0*/ else if(n>postidisp) printf("Impossibile prenotare, sono rimasti solo %d posti liberi \n",postidisp); else if(n<=0) printf("Inserire un numero maggiore di 0\n"); } /*Posti disponibili*/ printf("\n%d posti disponibili\n",postidisp); } while (scelta); return 0; } void libera(void) { /*Assegna a tutti gli elementi della matrice valore 0 */ int i,j; for(i=0;i<10;i++) for(j=0;j<10;j++) teatro[i][j]=0; } void prenota (int n) { int i=0,j=0, temp=0; /*Ciclo di prenotazione*/ do { /*Al valore 0 corrisponde posto libero, a valore 1 corrisponde valore occupato*/ if(teatro[i][j]==0) { teatro[i][j]=1; temp++; printf("%c%d ",i+65,j+1); } if(j