En una condicion IF tener un OR para dos resultados ||

Iniciado por Hakim, 16 Septiembre 2017, 08:32 AM

0 Miembros y 1 Visitante están viendo este tema.

Hakim

Saludos, por alguna razón no puedo lograr el OR en un IF. Me están pidiendo una sentencia con || como condición del IF pero no puedo lograr que el numero 2 sea correcta.

Aquí el código:


Código (cpp) [Seleccionar]
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h> // funcion de getch
#include <iomanip> // funcion de setw

using namespace std;

int main()
{
bool numero; //variantes

cout << "Selecione la pregunta correcta:" << endl << endl;
cout << "Cuales de las siguientes opciones son numeros:" << endl << endl; // **numeros**
cout << "A" << setw(3) << "2" << setw(3) << "B" << setw(3) << "1" << endl << endl;
cout << "Respuesta:";
cin >> numero;

if (numero == 1 || numero == 2 ) // OR compuesto con int, si el resultado es 1 o 2 la contestacion es correcta.
{

cout << "La respuesta es correcta" << endl << endl;
}
else
{
cout << "Respuesta incorrecta" << endl << endl;

}

getch();
return 0;
}

Gracias de antemano.

ivancea96

El programa funciona bien poneindo un 1 y tambien funciona bien poniendo un 2.

class_OpenGL

El problema es que has declarado el numero como bool. En la mayoria de compiladores (creo yo) y sistemas se interpreta un valor diferente de 0 como true (1). Es decir, si introduces un valor distinto de 0, lo mas probable es que se almacene un 1 (true)

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL