Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/10/2015, 03:44
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: [ayuda]Comparar una Cadena de Caracteres con un Array de Punteros

Cita:
Iniciado por vizen Ver Mensaje
ahi va otro codigo:
Un par de detalles tontos:
  • si primavera tiene longitud 9... ¿por qué defines entrada con tamaño 9? jejejeje
  • ¿Has probado con otoño? la 'ñ' puesta a pelo va a dar problemas porque se va a codificar de forma diferente... es mejor usar la codificación '\xa4' para forzar al compilador a poner una 'ñ'... cosas de C y C++

y bueno, ya puestos a poner versiones, una más:

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.   const char *estaciones[]={"primavera","verano","oto\xa4o","invierno"};
  6.   char salida[10];
  7.   int idEstacion = -1;
  8.   const int n_estac=sizeof(estaciones)/sizeof(estaciones[0]);
  9.  
  10.   std::cout << "escribe con min\xa3sculas el nombre de una estaci\xa2n del a\xa4o: ";
  11.   std::cin >> salida;
  12.   for(int i=0; i<n_estac; i++)
  13.   {
  14.     const char* p_estac = estaciones[i];
  15.     for( char* p_salida=salida; *p_estac==*p_salida && *p_estac; ++p_estac, ++p_salida );
  16.  
  17.     if( !*p_estac )
  18.       idEstacion = i;
  19.   }
  20.  
  21.   if( idEstacion>=0 )
  22.     std::cout << "\nEstacion " << estaciones[idEstacion] << " encontrada\n";
  23.   else
  24.     std::cout << "\nel nombre que has escrito no es correcto\n\n";
  25.   return 0;
  26. }