allora, sto tentando di fare una pila di iscritti a vari corsi in una scuola. Inserendo il corso, mi deve stampare tutti gli iscritti a quel corso, peccato che non funzioni
Posto solo la parte importante e non tutto il sorgente, perchè è lunghetto
codice:
int ric_cor( const lista_ptr pila) { 
lista_ptr temp;
	char corso_ric[SIZE];  

	printf ("Inserisci corso : "); 
	scanf ("%s", corso_ric); 
	
	temp = cerca_rice(pila, corso_ric); 

	if  ( temp == NULL) { 
	       	printf("Persona non presente\n");
	       return FALSE; 
        }	       
	else { 
         visualizza(temp);
        return TRUE; 
	}
}



lista_ptr  cerca_rice ( const  lista_ptr pila ,  char * corso_ric) { 

while (pila != NULL) { 
          if ( strncmp(pila->persona.corso, corso_ric, SIZE) == 0){ 
          return  pila;
           }
          else cerca_rice(pila->next, corso_ric);

} 
printf(" elemento non presente\n"); // se siamo arrivati qui non c'è l'elemento nella lista 
}

void visualizza(const lista_ptr pila)
{
     printf("\n------------------------");
     printf (" \nNome: %s\n", pila->persona.nome);
		printf(" Cognome: %s\n", pila->persona.cognome);
		printf(" Indirizzo: %s\n", pila->persona.indirizzo);
        printf(" Corso: %s\n", pila->persona.corso);
        printf("------------------------\n");
        visualizza(pila->next); //se inserisco questa istruzione, windows crasha, se non la inserisco, non mi stampa nulla
        
}
Avrei anche un altro problemino, ma quello spero di risolverlo da solo