[C con Clase] De vueltas con if
Steven Davidson
srd4121 en njit.edu
Mar Ago 12 21:20:09 CEST 2008
Hola Rubén,
Rubén wrote:
>
> Hola David.
>
> Me ha ido perfecto!!! Muchas gracias, aunque no tenga ni idea de
> programación, me estoy enviciando.
>
Nos alegramos que te vaya gustando todo esto.
> El código me ha quedado así:
>
> #include<iostream>
> #include<cstring>
> using namespace std;
>
> int main()
>
> {
> char palabra[32];
> char platano[32];
> cout<<"Oro parece plata no es, quien no lo adivine muy tonto es... "<<endl;
> cout<<"Escribe la respuesta:"<<endl;
> cin>>palabra;
> cout<<" "<<endl;
>
> if( strcmp( palabra, "platano" ) == 0 )
> cout<<"bravo. Acertaste."<<endl;
> if( strcmp( palabra, "platano" ) != 0 )
> cout<<"La respuesta es incorrecta"<<endl;
Aunque esto sea correcto, no es muy lógico. Fíjate en las condiciones
que estás haciendo:
Si palabra = "platano", entonces
correcto
Si palabra != "platano", entonces
incorrecto
El resultado de este tipo de condiciones es binario; es decir, o es
verdadero o es falso. Por lo tanto, si sabemos que es verdadero, no
tiene sentido comprobar si también es falso; ya lo sabemos. Por esta
razón tenemos el vocablo 'else' junto con 'if'. El resultado es el
siguiente:
if( strcmp( palabra, "platano" ) == 0 )
cout << "bravo. Acertaste." << endl;
else
cout << "La respuesta es incorrecta" << endl;
Con esto, sólo hacemos una comprobación, en lugar de dos, la cual una de
ellas era innecesaria.
>
> };
>
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase