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:
codice:
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;
}
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 me
Questa è la funzione di stampa che credo (spero) vada bene:
codice:
void stampa_razze(char elenco[][MAXCHAR], int riemp){
int i;
for(i=0; i<riemp; i++){
printf("%s\n", elenco[i]);
}
}
Qualche suggerimento?