Salve a tutti. Sto svolgendo una prova d'esame come esercitazione. Devo creare una funzione che crei un array di stringhe contenente tutte le razze presenti in un canile (dato che la razza non è una chiave, ci saranno più cani per razza, ma nell'array deve esserci una sola occorrenza per razza).
Ho scritto le due funzioni di crea_elenco_razze e stampa_razze. Ma quando vado per compilare e premo 2 ("Ricerca e Stampa Razze") non fa niente e passa subito al system("PAUSE").
Sicuramente il problema è nella funzione di creazione dell'elenco, ma non mi da errori e non capisco dove sia l'errore.
Questa è la funzione di creazione dell'elenco razze:
In sostanza ho provato , con il ciclo for, a fare un controllo per vedere se la razza che stavo visualizzando non fosse già inserita nell'elenco, ma credo di aver combinato un macello. Di mattina do il meglio di mecodice:int crea_elenco_razze(TList list, char elenco[][MAXCHAR]){ int i=0, j; if(list==NULL){ printf("La lista e' vuota.\n"); } while(list!=NULL){ for(j=0; j<i; j++){ if(!strcmp(elenco[i], list->info.satellite.razza)){ strcpy(elenco[i], list->info.satellite.razza); i++; } } list=list->link; } return i; }![]()
Questa è la funzione di stampa che credo (spero) vada bene:
Qualche suggerimento?codice:void stampa_razze(char elenco[][MAXCHAR], int riemp){ int i; for(i=0; i<riemp; i++){ printf("%s\n", elenco[i]); } }


Rispondi quotando
