Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/10/2015, 21:11
vizen
 
Fecha de Ingreso: enero-2014
Mensajes: 60
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: [ayuda]Comparar una Cadena de Caracteres con un Array de Punteros

te añado este otro codigo que hace lo mismo (compara un array de punteros con una cadena de caracteres) y es casi igual pero utilizando punteros que son un poco mas eficientes ya que no hacen comprobaciones como los arrays.

Código c:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5.     char *estaciones[]={"primavera","verano","otoño","invierno"};
  6.     char salida[9];
  7.     char **p_estac=estaciones, *p_salida=salida;
  8.     int  n_estac=sizeof(estaciones)/sizeof(estaciones[0]);
  9.     int  encontrado=0;
  10.  
  11.     printf("escribe con minúsculas el nombre de una estación del año: ");
  12.     scanf("%s", salida);
  13.  
  14.     for(int i=0; i<n_estac; i++)
  15.         for(int ii=0; ; ii++)
  16.             if(p_estac[i][ii]=='\0' && p_salida[ii]=='\0' && encontrado>0){
  17.                 printf("\nhas escrito la estación número %i del año correctamente\n", i+1);
  18.                 return 0;
  19.             }
  20.             else
  21.                 if(p_estac[i][ii]==p_salida[ii]) encontrado++;
  22.                 else { encontrado=0; break; }
  23.     printf("\nel nombre que has escrito no es correcto\n\n");
  24.     return 0;
  25. }

al final se ve que el problema era por ser la respuesta demasiado larga y la he troceado y si funciona