Porque se ejecuta el cuerpo del bucle while sin evaluar la condicion?
Publicado por White_Walker (1 intervención) el 15/10/2019 23:36:53
Hola, tengo una duda con el siguiente programa en el cual se piden dos numeros y se muestra un menu con las opciones Sumar, Restar, Multiplicar ,Dividir y Salir del programa; entonces se elige el numero de la opcion y se realiza la operacion correspondiente, luego se vuelve a mostrar el menu. El programa funciona pero mi duda es porque se ejecuta el cuerpo del bucle sin evaluar la condicion, ya que antes de entrar al ciclo while no se evalua la variable. Aca les dejo el codigo:
Tambien les adjunto el archivo fuente.Gracias y espero su respuesta.
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
#include<iostream>
using namespace std;
int main(){
float a,b,suma,resta,producto,cociente;
int opcion;
cout<<"\nIntroduzca el primer numero: ";cin>>a;
cout<<"\nIntroduzca el segundo numero: ";cin>>b;
while(opcion!=5){
cout<<"\nEstas son las operaciones que puede realizar:"<<endl;
cout<<"\n1 Sumar \n2 Restar \n3 Multiplicar \n4 Dividir \n5 Terminar programa \n";
cout<<"\nElija una opcion: ";cin>>opcion;
switch(opcion){
case 1: suma=a+b; cout<<"\nLa suma es: "<<suma; break;
case 2: resta=a-b; cout<<"\nLa resta es: "<<suma; break;
case 3: producto=a*b; cout<<"\nEl producto es: "<<suma; break;
case 4:
if(b==0)
cout<<"\nEl divisor no puede ser cero.";
else{
cociente=a/b;
cout<<"\nEl cociente es: "<<cociente;
}
break;
case 5: cout<<"\nPrograma terminado."; break;
default: cout<<"\nDebe elegir una de las opciones del menu."; break;
}
}
}
Tambien les adjunto el archivo fuente.Gracias y espero su respuesta.
Valora esta pregunta
0