[C con Clase] Problema con if

Docma docma7 en terra.es
Dom Ago 17 19:02:15 CEST 2008


Hola Yose,

El error esta en declarar un array (variable de cadena de texto con mas 
de un caracter) en vez de una variable de tipo numerico, como por 
ejemplo "int" (variable para numeros enteros), ya que, al compararla con 
la sentencia "if" (edad <=17), estarías intentando comparar una variable 
de texto con un entero (17 ) y eso provoca error.
Aparte, tambien es conveniente que le pongas una funcion para conseguir 
parar el programa, antes de cerrarse, para ver el resultado del if, en 
este caso, alguno de los textos de si es mayor de edad o menor.
Y para terminar, es necesario finalizar la funcion principal (funcion 
"main") enviando el resultado de su ejecución, para terminar el programa 
( return 0; ).

Quedaria mas o menos así :

#include<iostream>
using namespace std;
int main()
{
    int edad; // Aqui estaba el primer fallo. Antes : char edad[32]

    cout<<"Edad:"<<endl;
    cin>> edad;

    if (edad <= 17)
    cout<<"No puedes entrar, eres menor de edad"<<endl;
    else
    cout<<"Adelante, tienes la edad suficiente"<<endl;
    system("PAUSE");  // Pausar el programa a la espera de una entrada en el teclado
    return 0;  // Retorno del resultado de la funcion prinpipal (main). "0" indica que la función se ejecuto correctamente.

};


Un Saludo y Suerte


Docma




Yose escribió:
> Hola he empezado hoy el curso y estoy por el capitulo 5 de el curso (todavia sin leer este capitulo) y he decidido ir experimentando.
> Bueno pues he hecho este codigo
>
> #include<iostream>
> using namespace std;
> int main()
> {
>     char edad[32];
>     
>     cout<<"Edad:"<<endl;
>     cin>> edad;
>     
>     if (edad <= 17)
>     cout<<"No puedes entrar, eres menor de edad"<<endl;
>     else
>     cout<<"Adelante, tienes la edad suficiente"<<endl;
>     
> };
>
> Pero de momento hay un error en 
>
> if (edad<=17)
>
> no se donde esta el error, a lo mejor es cosa de que necesito alguna libreria nose. Lei por ahi que no se puede comparar directamente la variable edad con un entero creo que entendi xD aunque tampoco estoy seguro de que diera eso a entender xD.
>
> Saludos y gracias
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>   




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