Problemas tratando de repetir un ciclo
Publicado por Abril (4 intervenciones) el 10/10/2016 05:25:18
Buenas noches, estoy intentando hacer un programa por el que se pueda regresar al menú anterior(switch) y también salir desde los diferentes cases, el problema es que para hacerlo utilicé un do while en el switch y funciona para salir, pero cuando quiero hacerlo con los cases específicos ya no funciona, no puedo repetir el menú ni salir de el, me gustaría saber que hago mal, apenas aprendo a programar, gracias.
Este es el case en el que estoy intentando poner el menú:
case 1:
Aquí todo el programa por si eso aclara mas lo que intento preguntar:
Este es el case en el que estoy intentando poner el menú:
case 1:
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
do
{
for(i=1;i<=10;i++)
{
cout<<"Dame un numero"<<endl;
cin>>numero;
suma=suma+numero;
}
cout<<"El resultado de la suma es: "<<suma<<endl;
cout<<"Que quieres hacer? 1)Volver a sumar 2)Volver a menu anterior 3)Salir"<<endl;
cin>>op;
for(op=1;op>0;op++)
{
for(i=1;i<=10;i++)
{
cout<<"Dame un numero"<<endl;
cin>>numero;
suma=suma+numero;
}
cout<<"El resultado de la suma es: "<<suma<<endl;
cout<<"Que quieres hacer? 1)Volver a sumar 2)Volver a menu anterior 3)Salir"<<endl;
cin>>op;
}
if(op==2)
{
z=0;
}
else if(op==3)
{
z=1;
}
}
while(z=0);
Aquí todo el programa por si eso aclara mas lo que intento preguntar:
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
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
using namespace std;
int main()
{
int suma=0,opcion,numero,area,num,x=0,radio,z=0,n,i,op;
float pi=3.1416;
cout<<"Que quieres hacer?\n 1)Suma de 10 numeros\n 2)Calcula el area de un circulo\n 3) Adivina\n 4)Salir\n"<<endl;
cin>>opcion;
do
{
switch(opcion)
{
case 1:
do
{
for(i=1;i<=10;i++)
{
cout<<"Dame un numero"<<endl;
cin>>numero;
suma=suma+numero;
}
cout<<"El resultado de la suma es: "<<suma<<endl;
cout<<"Que quieres hacer? 1)Volver a sumar 2)Volver a menu anterior 3)Salir"<<endl;
cin>>op;
for(op=1;op>0;op++)
{
for(i=1;i<=10;i++)
{
cout<<"Dame un numero"<<endl;
cin>>numero;
suma=suma+numero;
}
cout<<"El resultado de la suma es: "<<suma<<endl;
cout<<"Que quieres hacer? 1)Volver a sumar 2)Volver a menu anterior 3)Salir"<<endl;
cin>>op;
}
if(op==2)
{
z=0;
}
else if(op==3)
{
z=1;
}
}
while(z=0);
break;
case 2:
cout<<"Dame el radio del circulo"<<endl;
cin>>radio;
area=pi*(radio*radio);
cout<<"El area del circulo es: "<<area<<endl;
x=1;
break;
case 3:
z=1;
do
{
cout<<"Vamos a necesitar 2 usuarios para jugar :v \n \n"<<"Usuario 1: Escribe el numero a adivinar"<<endl;
cin>>num;
cout<<"Usuario 2: Tienes 5 intentos para adivinar, suerte!"<<endl;
for(i=0;i<6;i++)
{
cout<<"Escribe un numero: ";
cin>>n;
suma=suma+n;
if(n==num)
{
cout<<"Wow, adivinaste!"<<endl;
z=0;
}
else if(n<num)
cout<<"El numero a adivinar es mayor!\n"<<endl;
else if(n>num)
cout<<"El numero a adivinar es menor!\n"<<endl;
}
}
while(z!=0);
break;
case 4:
x=1;
break;
}
}
while(x==0);
return 0;
}
Valora esta pregunta


0