tengo un problema con mi calculadora se supone que entra a un menu y si quieres hacer suma o cualquier otra operacion te pide 2 numeros y si quieres volver a hacer la operacion te dice si quieres o no pero despues que le pongo que no me saca al menu y si trato de escoger otra opcion no me deja =S
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(void)
{
int opcion=0,respuesta=1;
float numero1,numero2,suma,resta,multiplicacion,division ;
do
{
printf("%cQue desea realizar?",168);
printf("\n\n\t1.SUMA");
printf("\n\n\t2.RESTA");
printf("\n\n\t3.MULTIPLICACION");
printf("\n\n\t4.DIVISION");
printf("\n\n\t5.SALIR");
printf("\n\n\nIngresa la opcion: ");
scanf("%d", &opcion);
system("cls");
switch(opcion)
{
case 1:
{
while (respuesta==1)
{
printf("\nAQUI SE REALIZA LA SUMA");
printf("\n\n-> Ingresa el primer digito que desea sumar: \t");
scanf("%f", &numero1);
printf("\n-> Ingresa el segundo digito que desea sumar: \t");
scanf("%f", &numero2);
suma=numero1+numero2;
printf("\n\n* El resultado de la suma de: \t%.1f + %.1f = %.1f",numero1,numero2,suma);
printf("\n\n*%cDesea realizar otra suma? 1) Si 2) No \n\n",168);
scanf("%d", &respuesta);
system ("cls");
}
break;
}
case 2:
{
while (respuesta==1)
{
printf("\nAQUI SE REALIZA LA RESTA");
printf("\n\n-> Ingresa el primer digito que desea restar: \t");
scanf("%f", &numero1);
printf("\n-> Ingresa el segundo digito que desea restar: \t");
scanf("%f", &numero2);
resta=numero1-numero2;
printf("\n\n* El resultado de la resta de: \t%.1f - %.1f = %.1f",numero1,numero2,resta);
printf("\n\n*%cDesea realizar otra resta? 1)SI 2)NO\n\n",168);
scanf("%d", &respuesta);
system ("cls");
}
break;
}
case 3:
{
while (respuesta==1)
{
printf("\nAQUI SE REALIZA LA MULTIPLICACION");
printf("\n\n-> Ingresa el primer digito que desea multiplicar: \t");
scanf("%f", &numero1);
printf("\n-> Ingresa el segundo digito que desea multiplicar: \t");
scanf("%f", &numero2);
multiplicacion=numero1*numero2;
printf("\n\n* El resultado de la multiplicacion de: \t%.1f * %.1f = %.1f",numero1,numero2,multiplicacion);
printf("\n\n*%cDesea realizar otra multiplicacion? 1)SI 2)NO\n\n",168);
scanf("%d", &respuesta);
system ("cls");
}
break;
}
case 4:
{
while (respuesta==1)
{
printf("\nAQUI SE REALIZA LA DIVISION");
printf("\n\n-> Ingresa el primer digito que desea dividir: \t\t");
scanf("%f", &numero1);
printf("\n-> Ingresa el segundo digito que desea dividir: \t");
scanf("%f", &numero2);
if (numero2==0 || numero1==0 && numero2==0)
printf("\n\n* El resultado de la division de: \t%.1f %c %.1f es una 'Indeterminacion'",numero1,246,numero2);
else
{
division=numero1/numero2;
printf("\n\n* El resultado de la division de: \t%.1f %c %.1f = %.1f",numero1,246,numero2,division);
}
printf("\n\n*%cDesea realizar otra division? 1)SI 2)NO\n\n",168);
scanf("%d", &respuesta);
system("cls");
}
break;
}
case 5:
{
printf("\nHasta pronto %c",1);
getchar();
getchar();
exit(0);
break;
}
default:
printf("\nOpcion no valida. Intente de nuevo \n\n");
}
}
while (opcion !=5);
getchar();
getchar();
return 0;
}