Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda struct

Estas en el tema de Duda struct en el foro de C/C++ en Foros del Web. Buenas tardes tengo un struct pero no me funciona correctamente a la hora de comparar con el "strcmp" @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original void ...
  #1 (permalink)  
Antiguo 07/05/2012, 12:11
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 12 años, 8 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
  #2 (permalink)  
Antiguo 07/05/2012, 13:35
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Duda struct

Asi como lo tienes parece estar bien. te diria que verifiquees que los datos esten correctos...Tambien mira que el caracter de fin de cadena este en el lugar correcto...que no queden espacios al final ni nada por el estilo.

Saludos,
detalla mas el codigo para que te podamos ayudar mejor.

Etiquetas: funcion, int, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.