Tema: Duda struct
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2012, 12:11
drakgoku1
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 13 años, 5 meses
Puntos: 3
Duda struct

Buenas tardes tengo un struct pero no me funciona correctamente a la hora de comparar con el "strcmp"

Código C:
Ver original
  1. void definir_partits (){
  2.     strcpy (p_politics[0].nom,"PSC");
  3.     strcpy (p_politics[1].nom,"CIU");
  4.     strcpy (p_politics[2].nom,"ERC");
  5.     strcpy (p_politics[3].nom,"PP");
  6.     strcpy (p_politics[4].nom,"ICV");
  7.     strcpy (p_politics[5].nom,"Altres");
  8. }

Código C:
Ver original
  1. void mostrar_partit(int x){//cojo el maximo
  2.     int i=0;
  3.     int PSC=0,CIU=0,ERC=0,PP=0,ICV=0,ALTRES=0;
  4.     for (i=0;i<x;i++){
  5.         if(strcmp(persona[i].codi, p_politics[0].nom)==0 ){
  6.             PSC+=1;
  7.         }else if(strcmp(persona[i].codi, p_politics[1].nom)==0 ){
  8.             CIU+=1;
  9.         }else if(strcmp(persona[i].codi, p_politics[2].nom)==0 ){
  10.             ERC+=1;
  11.         }else if(strcmp(persona[i].codi, p_politics[3].nom)==0 ){
  12.             PP+=1;
  13.         }else if(strcmp(persona[i].codi, p_politics[4].nom)==0 ){
  14.             ICV+=1;
  15.         }else if(strcmp(persona[i].codi, p_politics[5].nom)==0 ){
  16.             ALTRES+=1;
  17.         }
  18.     }printf("\n\t PSC    --> %d",PSC);
  19.      printf("\n\t CIU    --> %d",CIU);
  20.      printf("\n\t ERC    --> %d",ERC);
  21.      printf("\n\t PP     --> %d",PP);
  22.      printf("\n\t ICV    --> %d",ICV);
  23.      printf("\n\t ALTRES --> %d",ALTRES);
  24. }

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