Unamonos los programadores de taringa y compartamos nuestros codigos, ya sea java, C, C++, php, jsp, html, css, python.... etc etc etc.. Enterate tambien de las innovaciones en el software y nuevas distribuciones de Microsoft, Linux y MacOS

Ver más
  • 1,702 Miembros
  • 560 Temas
  • 308 Seguidores
  • 0

Ayuda con un programa

Si alguno es entendido de c++ me puede decir que error tiene el programa?

#include<stdio.h>
#include<conio.h>
void main(){

int i, op, num1, num2, res;
for(i=0;i<888;i++){

printf("INGRESE EL PRIMER NUMERO: n";
scanf("%i",&num1);
printf("INGRESE EL SEGUNDO NUMERO: n";
scanf("%i",&num2);
printf("CALCULADORA RAMPLA 2.0 n 1-SUMAR n 2-RESTAR n 3-MULTIPLICAR n 4-DIVIDIR n 0-SALIR n";
scanf("%i",&op);

switch (op){
case 1:
while(op==1){
res=num1+num2;
printf("RESULTADO DE LA SUMA ES: n %i",res);
}
break;
case 2:
while(op==2){
res=num1-num2;
printf("EL RESULTADO DE LA RESTA ES: n %i",res);
}
break;
case 3:
while(op==3){
res=num1*num2;
printf("EL RESULTADO DE LA MULTIPLICACION ES: n %i",res);
}
break;
case 4:
while(op==4){
res=num1/num2;
printf("EL RESULTADO DE LA DIVISION ES: n %i",res);
}
break;
case 0:
while(op==0){
exit (1);
}



}
getch();
}
}

------------------------------------------------------------------------------------------------------

Cuando se logre ejecutar veran que el programa realiza la operacion pero repite el resultado hasta colgarse. Muchas gracias de ante mano
  • 0
  • 0Calificación
  • 0Seguidores
  • 58Visitas
  • 0Favoritos

5 respuestas

@hinafu dijo Hace más de 3 meses:

El problema es que en cada caso del switch le pones un mientras... Y como SIEMPRE va a entrar al mientras, se creará un bucle infinito que es la causa de que el programa se cuelgue. Podrías poner así en vez:

 <?
while(1) { // Esta puedes no ponerla
  
printf("Ingrese opción:  n");
  while(
scanf("%i",op)) {
    switch(
op)
    ...
  }
}
?>

@cxs00 dijo Hace más de 3 meses:

saca todos los while dentro de los cases

@Maazaapaan dijo Hace más de 3 meses:

no necesitas los while

Tienes que ser miembro para responder en este tema