Problema en un Switch C++
Publicado por Miguel Ángel (1 intervención) el 16/07/2019 18:53:20
Hola,
Hace poco empece a ver programación en mi universidad y me pusieron un trabajo en el que tenia que hacer un juego de preguntas, al realizarlo todo funciona bien, menos los Defaults de los switch que he creado(el default le dice al usuario que escribio una respuesta incorrecta y en teoria deberia dejarlo ingresar otra vez el número, pero lo que pasa esque cuando se ingresa un dato que no es númerico se salta los CIN que he ingresado, creando un bucle sin fin de defaults).
Este es mi código y adjunto un video mostrando el problema:
Agradeceria que me ayudaran!
Hace poco empece a ver programación en mi universidad y me pusieron un trabajo en el que tenia que hacer un juego de preguntas, al realizarlo todo funciona bien, menos los Defaults de los switch que he creado(el default le dice al usuario que escribio una respuesta incorrecta y en teoria deberia dejarlo ingresar otra vez el número, pero lo que pasa esque cuando se ingresa un dato que no es númerico se salta los CIN que he ingresado, creando un bucle sin fin de defaults).
Este es mi código y adjunto un video mostrando el problema:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <QCoreApplication>
#include <iostream>
#include <cstdlib>
using namespace std;
int A=0;
int B=1;
int respuesta1,respuesta2,respuesta3;
int main() {
while(B==1){
if(A==0){
system("cls || clear");
cout<< "Bienvenido al juego de preguntas.\n"<<endl;
cout<< "Primera pregunta, Simon Bolivar liberto a Colombia?\n"<<"1.Si\n"<<"2.No\n"<<endl;
cin>> respuesta1;
switch(respuesta1)
{
case 1:
cout<<"Correcto!\n"<<endl;
system("pause");
A=1;
break;
case 2:
system("cls || clear");
cout<<"Perdiste,deseas volver a intentar?\n"<<endl<<"1.Si\n"<<"2.No\n"<<endl;
cin>>B;
A=0;
break;
default:
system("cls || clear");
cout<<"Respuesta invalida, ingrese una opcion entre 1-2"<<endl;
system("pause");
break;
}
}
if(A==1)
{
system("cls || clear");
cout<<"Segunda pregunta,Camilo Torres fue un guerrillero?\n"<<"1.Si\n"<<"2.No\n"<<endl;
cin>> respuesta2;
switch(respuesta2)
{
case 1:
cout<<"Correcto!\n"<<endl;
system("pause");
A=2;
break;
case 2:
system("cls || clear");
cout<<"Perdiste,deseas volver a intentar?\n"<<endl<<"1.Si\n"<<"2.No\n"<<endl;
cin>>B;
A=0;
break;
default:
system("cls || clear");
cout<<"Respuesta invalida, ingrese una opcion entre 1-2"<<endl;
system("pause");
break;
}
}
if(A==2)
{
system("cls || clear");
cout<<"Tercera pregunta,El Binomio de Oro es un grupo de musica vallenata?\n"<<"1.Si\n"<<"2.No\n"<<endl;
cin>>respuesta3;
switch(respuesta3)
{
case 1:
cout<<"Felicitaciones, Ganaste!"<<endl;
system("pause");
B=0;
break;
case 2:
system("cls || clear");
cout<<"Perdiste,deseas volver a intentar?\n"<<endl<<"1.Si\n"<<"2.No\n"<<endl;
cin>>B;
A=0;
break;
default:
system("cls || clear");
cout<<"Respuesta invalida, ingrese una opcion entre 1-2"<<endl;
system("pause");
break;
}
}
}
return 0;
}
Agradeceria que me ayudaran!
- Video.zip(1,5 MB)
Valora esta pregunta


0