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
Avrei anche un altro problemino, ma quello spero di risolverlo da solocodice: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 }

Rispondi quotando