Luca Rizzo Mortale devoto
Registrato: 13/10/15 20:51 Messaggi: 13
|
Inviato: 24 Feb 2017 15:15 Oggetto: Quesito sulla programmazione in C |
|
|
Per contare i colori dei cani in un allevamento ho utilizzato il seguente codice
So a priori che i colori dei cani sono fulvo, grigio, marrone e nero.
DOMANDA: c'è un modo per semplificare questa funzione ?
void conta_colore(lista_allevamento *root) {
lista_allevamento *p;
int i;
int cont_colore_fulvo = 0;
int cont_colore_grigio = 0;
int cont_colore_marrone = 0;
int cont_colore_nero = 0;
printf("[COLORE]\n");
for(p=root; p!=NULL; p=p->next) {
if(strcmp((p->dati.colore),"fulvo")==0) {
cont_colore_fulvo++;
}
if(strcmp((p->dati.colore),"grigio")==0) {
cont_colore_grigio++;
}
if(strcmp((p->dati.colore),"marrone")==0) {
cont_colore_marrone++;
}
if(strcmp((p->dati.colore),"nero")==0) {
cont_colore_nero++;
}
}
printf("%d\n", cont_colore_fulvo);
printf("%d\n", cont_colore_grigio);
printf("%d\n", cont_colore_marrone);
printf("%d\n", cont_colore_nero);
return;
} |
|