Buongiorno ragazzi , ho impostato il programma cosi
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10
#define LUN 50
#define SALE 5
struct dati_contatto
{
char nome[LUN];
char cognome[LUN];
char telefono[LUN];
};
struct prenotazione
{
char nome_sala[N];
int giorno;
char orario_di_inizio[6];
char titolo[LUN];
char posti[N][3];
struct dati_contatto contatto;
struct prenotazione * next;
};
typedef struct prenotazione prenotazione;
typedef prenotazione * lprenotazione;
struct spettacolo
{
char nome_sala;
int giorno;
char orario_di_inizio[5];
char titolo[LUN];
int **sala;
struct spettacolo * next;
};
typedef struct spettacolo spettacolo;
typedef spettacolo * lspettacolo;
void carica_sale(char *nome_file, int sale[SALE][2]);
void carica_spettacoli(char *nome_file, lspettacolo* p, int sale[SALE][2]);
void carica_prenotazioni(char *nome_file, lprenotazione* p, lspettacolo* q, int sale[SALE][2]);
void inserisci_prenotazione(lprenotazione* p, lspettacolo* q, prenotazione dato, int sale[SALE][2]);
void inserisci_prenotazione_da_file(char *nomefile, lprenotazione* p, lspettacolo* q, int sale[SALE][2]);
void lista_posti(lspettacolo p, int sale[SALE][2]);
void salva_spettacoli(char *nome_file, lspettacolo p, int sale[SALE][2]);
int main()
{
lprenotazione head1=NULL;
lspettacolo head2=NULL;
//dimensione delle sale
int sale[SALE][2];
char stringa[LUN];
prenotazione dato;
int scelta;
do
{
printf("**** Menu - Cinema MultiSala****\n\n");
printf("1) Carica da file\n");
printf("2) Inserisci prenotazione\n");
printf("3) Inserisci prenotazione da file\n");
printf("4) Visualizza posti liberi\n");
printf("0) Exit\n\n");
scanf("%d",&scelta);
//acquisiamo tutti i caratteri fino al carattere di newline
scanf("%[^\n]s",stringa);
//acquisiamo il carattere di newline
getchar();
switch(scelta)
{
case 1:
//serve per costruire una matrice in cui tengo traccia della dimesione di
//ciascuna sala (numero file e numero poltroncine per fila)
carica_sale("sale.txt", sale);
//riverso il contenuto del file spettacoli.txt in una lista di spettacoli
carica_spettacoli("spettacoli.txt", &head2, sale);
//riverso il contenuto del file prenotazioni.txt in una lista di prenotazioni
//e occupo, se disponibili, i posti richiesti
carica_prenotazioni("prenotazioni.txt", &head1, &head2, sale);
break;
case 2:
printf("*** Prenotazione ***\n\n");
printf("Inserisci sala\n");
scanf("\n%[^\n]s",dato.nome_sala);
printf("Inserisci giorno\n");
scanf("%d",&dato.giorno);
printf("Inserisci orario\n");
scanf("\n%[^\n]s",dato.orario_di_inizio);
printf("Inserisci titolo\n");
scanf("\n%[^\n]s",dato.titolo);
printf("Inserisci nome contatto\n");
scanf("\n%[^\n]s",dato.contatto.nome);
printf("Inserisci cognome contatto\n");
scanf("\n%[^\n]s",dato.contatto.cognome);
printf("Inserisci numero telefonico\n");
scanf("\n%[^\n]s",dato.contatto.telefono);
/*printf("%s %d %s %s %s %s %s %s\n\n",dato.nome_sala,dato.giorno, dato.orario_di_inizio,dato.titolo, dato.contatto.nome, dato.contatto.cognome, dato.contatto.telefono,dato.posti[0]);*/
inserisci_prenotazione(&head1, &head2, dato, sale);
break;
case 3:
inserisci_prenotazione_da_file("richieste.txt", &head1, &head2, sale);
break;
case 4:
lista_posti(head2, sale);
break;
default:
scelta = 0;
salva_spettacoli("spettacoli.txt", head2, sale);
salva_prenotazioni("prenotazioni.txt", head1);
break;
}
}
while(scelta!=0);
return 0;
}
void carica_sale(char *nome_file, int sale[SALE][2])
{
}
void carica_spettacoli(char *nome_file, lspettacolo* p, int sale[SALE][2])
{
}
void carica_prenotazioni(char *nome_file, lprenotazione* p, lspettacolo* q, int sale[SALE][2])
{
}
void inserisci_prenotazione(lprenotazione* p, lspettacolo* q, prenotazione dato, int sale[SALE][2])
{
}
void inserisci_prenotazione_da_file(char *nomefile, lprenotazione* p, lspettacolo* q, int sale[SALE][2])
{
}
void lista_posti(lspettacolo p, int sale[SALE][2])
{
}
void salva_spettacoli(char *nome_file, lspettacolo p, int sale[SALE][2])
{
}
void salva_prenotazioni(char *nome_file, lprenotazione p)
{
}
Però ora come faccio a caricare il file sale in quella matrice e poi nelle altre funzioni tenere conto dei posti?