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;
		}
}
salve ragazzi come da titolo dovrei creare delle funzioni per gestire delle prenotazioni in un albergo, di una lista clienti.
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