salve ragazzi come da titolo dovrei creare delle funzioni per gestire delle prenotazioni in un albergo, di una lista clienti.codice:#include <stdio.h> #include <string.h> #include <malloc.h> struct cliente { char nome[20]; char cognome[20]; int codice; struct cliente *next; }; int numero; struct cliente *crea(); struct cliente *inserisci(struct cliente *); void cerca(struct cliente *); void visualizza(struct cliente *); void prenotazione(); int i=1; main() { int c=-1; struct cliente *p, *new; while(c!=0) { printf("\nNella lista sono presenti %d clienti",i-1); printf("\n\n\t1.crea nuovo cliente"); printf("\n\t2.cerca clienti"); printf("\n\t3.visualizza lista clienti"); printf("\n\t4.crea prenotazione"); printf("\n\nDigita la scelta ---->"); scanf("%d",&c); switch(c) { case 1: if (i==1) { p = crea(); i++; new = p; break; } else { new->next=malloc(sizeof(struct cliente)); new = inserisci(new->next); break; } case 2: cerca(p); break; case 3: visualizza(p); break; case 4: prenotazione(); break; } } } struct cliente * crea(){ struct cliente *p; p = malloc(sizeof(struct cliente)); printf("\nInserisci nome del cliente "); scanf("%s", p->nome); printf("\nInserisci cognome "); scanf("%s", p->cognome); p->codice = 1; printf("\nAl cliente è stato assegnato il codice [1]\n"); p->next=NULL; return p; } struct cliente * inserisci(struct cliente *p){ printf("\nInserisci nome del cliente "); scanf("%s", p->nome); printf("\nInserisci cognome "); scanf("%s", p->cognome); p->codice = i; printf("\nAl cliente è stato assegnato il codice [%d]\n",i); i++; p->next= NULL; return p; } void cerca(struct cliente *p) { int codice; printf("\ndigita il codice cliente---->"); scanf("%d", &codice); do { if (p->codice==codice) { printf("\n\nil codice cliente appartiene a [ %s %s ]",p->nome,p->cognome); } } while ((p = p->next) !=NULL); } void visualizza(struct cliente *p) { int d=1; printf("[codice] [nome] [cognome]"); while (p!=NULL) { printf("\n [%d] %s %s\n",d,p->nome,p->cognome); d++; p = p->next; } } void prenotazione() { int sel; printf("\nIl cliente che vuole prenotare e' gia' nella lista clienti?"); printf("\n1.si"); printf("\n2.no"); scanf("%d",&sel); switch(sel) { case 1: break; case 2: printf("\nBisogna immettere i dati del cliente prima"); break; default : printf("\nscelta non valida"); break; } }
Non mi viene in mente come potrei gestire le prenotazione per una determinata data, cioè aggiungo la prenotazione per una data e non permetto di fare la prenotazione se la stanza è già occupata per quei giorni. Non cerco righe di codice in se, solo una soluzione logica su come gestire le date occupate da quelle no. grazie in anticipo e complimenti a tutti per la community