[C con Clase] Problema con if

David Reza l.fix3r.l en gmail.com
Dom Ago 17 18:16:34 CEST 2008


Lo que sucede es que 'edad' es una cadena de caracteres, o lo que es igual,
texto, y tú quieres comparar un *texto* con un *número*.

Lo que podrías hacer sería comparar la cadena 'edad' con la cadena "17"
mediante una función de la librería "cstring" que se llama 'strcmp()':

if (strcmp(edad, "17") <= 0)
> {
>      .....
>
}
>

La función da un valor de 0 si las dos cadenas son iguales; un número mayor
o igual a 0 si la primera cadena es mayor o igual a la segunda; y un número
menor que 0 si la primera cadena es menor que la segunda. A nosotros nos
interesa saber si el la cadena es menor o igual a "17" para restringir el
acceso, por eso se compara con <=.

Para más información sobre la función entra a la página de C con Clase:
http://c.conclase.net/librerias/funcion.php?fun=strcmp

Por otro lado, podrías hacer las cosas más fácil y utilizar una variable
'int' en vez de el array 'char' y comparar directamente con el número 17:

int edad;
> ....


>
if (edad <= 17 )
> {
> ...
> }
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080817/2b4ac41a/attachment.html>


Más información sobre la lista de distribución Cconclase