Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/06/2015, 00:08
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Problema para leer cadena de caracteres en C

Cita:
Iniciado por aguston Ver Mensaje
El problema es que no puedo usar funciones. Por lo tanto la solucion que me diste no me resulta valida. De todas maneras gracias.
En cualquier caso, el if lo tienes que usar igual ya que la opción del switch no te va a funcionar.

Aún así, por lo que comentas, que no puedas usar funciones de la librería estándar no implica que no puedas crearte tus propias funciones. En base a lo que has puesto en tu primer mensaje, yo no veo inconveniente en crearte una función que compare dos cadenas de caracteres, que es algo bastante sencillo:

Código C:
Ver original
  1. int compararCadenas( char* cad1, char* cad2 )
  2. {
  3.   while( *cad1 && *cad2 && *cad1 == *cad2 )
  4.   {
  5.     cad1++;
  6.     cad2++;
  7.   }
  8.  
  9.   return *cad1 - *cad2;
  10. }

Básicamente iteras sobre las dos cadenas hasta que alcances el caracter nulo '\0' o te encuentres con que ambas cadenas son diferentes. Cuando no se cumpla una de esas condiciones sales del bucle y realizas una resta de los caracteres actuales... si ambas cadenas son iguales, restarás dos caracteres nulos y '\0' - '\0' = 0; en cambio, si ambas cadenas son diferentes esa resta arrojará un resultado distinto a 0... luego las cadenas son iguales si la función retorna 0 y diferentes en caso contrario.

Para pasarlas a minúsculas puedes operar de forma similar, pero eso ya corre de tu cuenta.

Un saludo

Última edición por eferion; 10/06/2015 a las 00:16