Salve a tutti, nuovo problema con le liste. Stavo cercando di implementare una funziona che scorresse tutta la mia lista alla ricerca del punteggio più alto. Ho una struttura dove inserisco semplicemente Nome, Cognome e Punteggio.
Ho realizzato così la funzione:
codice:
TNode* Punteggio(TList lista){
TNode* punt;
TNode* score;
int punteggio=0;
punt=lista;
score->info.punteggio=punteggio;
while(punt!=NULL){
punt=punt->next;
if(punt->info.punteggio > punteggio){
score->info.punteggio=punt->info.punteggio;
score=punt;
}
}
return score;
}
In teoria la funzione scorre tutta la lista. Inizialmente assegno al TNode score il punteggio. Poi inizio a scorrere la lista e se trovo un punteggio più alto, lo riassegno al TNode score. Alla fine mi restituisce il nodo.
Nel main l'ho richiamata così:
codice:
case 5:
score=Punteggio(lista);
printf("Il punteggio piu' alto e' %d\n\n", score->info.punteggio);
dichiarando score come
Non mi da errori, ma quando avvio il programma e premo 5 (funzione di ricerca del punteggio) mi crasha tutto
Qualcuno sa aiutarmi?