Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Hakim en 16 Septiembre 2017, 08:32 am



Título: En una condicion IF tener un OR para dos resultados ||
Publicado por: Hakim en 16 Septiembre 2017, 08:32 am
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
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <string>
  4. #include <conio.h> // funcion de getch
  5. #include <iomanip> // funcion de setw
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11. bool numero; //variantes
  12.  
  13. cout << "Selecione la pregunta correcta:" << endl << endl;
  14. cout << "Cuales de las siguientes opciones son numeros:" << endl << endl; // **numeros**
  15. cout << "A" << setw(3) << "2" << setw(3) << "B" << setw(3) << "1" << endl << endl;
  16. cout << "Respuesta:";
  17. cin >> numero;
  18.  
  19. if (numero == 1 || numero == 2 ) // OR compuesto con int, si el resultado es 1 o 2 la contestacion es correcta.
  20. {
  21.  
  22. cout << "La respuesta es correcta" << endl << endl;
  23. }
  24. else
  25. {
  26. cout << "Respuesta incorrecta" << endl << endl;
  27.  
  28. }
  29.  
  30. getch();
  31. return 0;
  32. }
  33.  
Gracias de antemano.


Título: Re: En una condicion IF tener un OR para dos resultados ||
Publicado por: ivancea96 en 16 Septiembre 2017, 13:39 pm
El programa funciona bien poneindo un 1 y tambien funciona bien poniendo un 2.


Título: Re: En una condicion IF tener un OR para dos resultados ||
Publicado por: class_OpenGL en 20 Septiembre 2017, 18:18 pm
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)