Sto scrivendo questa funzione, dove viene chiesto all'utente di scegliere il modo di effettuare la visita (digitando 1,2 o 3).
L'utente può scegliere visite diverse fino a quando non digita 0, in questo modo esce dalla visita.
printf("\nDigita 1 se vuoi visitare l'albero in ordine anticipato\n");
printf("Digita 2 se vuoi visitare l'albero in ordine anticipato\n");
printf("Digita 3 se vuoi visitare l'albero in ordine anticipato\n");
do
{
do
{
printf("In che modo vuoi effettuare la visita? (Digita 0 se vuoi uscire dalla visita)----> ");
esito_input_visita = scanf("%d",&ordine_visita);
if ((esito_input_visita != 1) || (ordine_visita < 0 || ordine_visita > 3))
printf("Valore non accettabile !!! ");
while (getchar() != '\n');
}
while ((esito_input_visita != 1) || (ordine_visita < 0 || ordine_visita > 3));
if (ordine_visita == 1)
visita_albero_bin_ant(radice);
if (ordine_visita == 2)
visita_albero_bin_simm(radice);
if (ordine_visita == 3)
visita_albero_bin_post(radice);
}
while (ordine_visita > 0 || ordine_visita <= 3);
printf("\nSei uscito dalla visita!\n");
Solo che digitando 0 non succede nulla e continua a chiedere quale visita voglio effettuare. Qual è l'errore?