Ciao a tutti, devo fare un programmino sulle ordinazioni di un ristorante.
Ciascuna prenotazione deve avere le seguenti informazioni:
1) numero del tavolo ( da 1 a 20 )
2) data (giorno, mese, anno)
3) insieme ( vettore ) delle portate
4) insieme ( vettore ) delle bevande
5) costo totale del pasto
Inoltre per ciascuna portata (quindi punto 3):
1) codice della portata ( da 1 a 200 )
2) numero di tale portata
3) costo della portata
Per ciascuna bevanda (punto 4)
1) codice della bevanda ( da 1 a 20 )
2) numero di tale bevanda
3) costo della bevanda
Ogni ordinazione può avere al massimo 20 portate diverse e 10 bevande diverse
Avevo pensato di realizzare una struct fatta in questo modo
e per inserire gli ingressi, ho pensato di fare in questo modo, ma il dubbio resta soprattutto sull'assegnamento dei dati nella struct per via degli indicicodice:struct ordinazione { int num_tavolo; int data; int portata [1][3]; int bevanda [1][3]; }ord[max];
Per effettuare l'assegnazione dei dati ai campi di un vettore multidimensionale il quale è a sua volta un membro di una struttura è possibile usare gli indici in questo modo ????codice:for ( i = 0; i < max; i++ ) { printf("Inserisci ordinazione\n"); printf("Inserisci data : \n"); scanf("%d", &dat) ord[i].data = dat; printf("Inserisci il numero del tavolo : \n"); scanf("%d", &tav); if ( tav >=1 && tav <= 20 ) { ord[i].num_tavolo = tav; }else{ printf("Numero tavolo errato\n"); } num_max = 0; for ( j = 0; j < 3; j++ ) { printf("Inserisci il codice della portata : \n"); scanf("%d", &cod_port); if ( cod_port >= 1 && cod_port <= 200 ) { ord[i].portata[i][j] = cod_port; } else{ printf("Il codice della portata è errato\n"); } printf("Inserisci il numero di portate ordinate : \n"); scanf("%d", &num_port); num_max = num_max + num_port; if ( num_max <= 20 ) { ord[i].portata[i][j]; }........................................
Grazie

Rispondi quotando