Buenas tardes tengo un struct pero no me funciona correctamente a la hora de comparar con el "strcmp"
Código C:
Ver originalvoid definir_partits (){
strcpy (p_politics
[0].
nom,"PSC"); strcpy (p_politics
[1].
nom,"CIU"); strcpy (p_politics
[2].
nom,"ERC"); strcpy (p_politics
[3].
nom,"PP"); strcpy (p_politics
[4].
nom,"ICV"); strcpy (p_politics
[5].
nom,"Altres"); }
Código C:
Ver originalvoid mostrar_partit(int x){//cojo el maximo
int i=0;
int PSC=0,CIU=0,ERC=0,PP=0,ICV=0,ALTRES=0;
for (i=0;i<x;i++){
if(strcmp(persona
[i
].
codi, p_politics
[0].
nom)==0 ){ PSC+=1;
}else if(strcmp(persona
[i
].
codi, p_politics
[1].
nom)==0 ){ CIU+=1;
}else if(strcmp(persona
[i
].
codi, p_politics
[2].
nom)==0 ){ ERC+=1;
}else if(strcmp(persona
[i
].
codi, p_politics
[3].
nom)==0 ){ PP+=1;
}else if(strcmp(persona
[i
].
codi, p_politics
[4].
nom)==0 ){ ICV+=1;
}else if(strcmp(persona
[i
].
codi, p_politics
[5].
nom)==0 ){ ALTRES+=1;
}
}printf("\n\t PSC --> %d",PSC
); printf("\n\t CIU --> %d",CIU
); printf("\n\t ERC --> %d",ERC
); printf("\n\t ICV --> %d",ICV
); printf("\n\t ALTRES --> %d",ALTRES
); }
Me da un resultado un tado peculiar, si pongo 4 personas :
la primera"PSC"
la segunda "CIU"
la tercera "ERC"
y la última nada , me da un resultado tan peculiar :
PSC ---> 4
CIU---->0
ERC---->0
PP---->0
ICV---->0
ALTRES---->0