Hola, el tema es que hice el codigo para una "calculadora" en C y tengo 2 scanf dentro de un while, uno en donde pido la operacion y otra donde pregunto que si el usuario desea seguir ingresando operaciones, con 'S' que si y 'N' que no, pero si ingreso una 'N' el programa da un loop mas y de hay finaliza, y si ingreso una 'S' el programa sigue mostrandome el resultado anterior automaticamente sin pedirme la nueva operacion.
Intente arreglandolo limpiando el buffer de entrada con:
pero nada, siempre pasa que arreglo el funcionamiento al ingresar 'N' o el 'S', pero no ambas, me gustaria que me dijeran en que me equivoco por que pensaba que tenia estos conceptos claros, pero ya veo que no tanto...
Código C:
Ver original#include <stdio.h>
int main() {
double op_1, op_2, resultado;
int ch;
char opc = 'S';
char operador;
printf("Bienvenido a la Calculador V1.0\nPara realizar operaciones ingrese una operacion\n\n");
while (opc != 'N') {
scanf("%lf %c %lf", &op_1
, &operador
, &op_2
);
switch (operador) {
case '+':
resultado = op_1 + op_2;
break;
case '-':
resultado = op_1 - op_2;
break;
case '*':
resultado = op_1 * op_2;
break;
case '/':
resultado = op_1 / op_2;
break;
default:
break;
}
printf("\nResultado: %g\n", resultado
);
printf("\nDesea continuar?... <S/N>: "); }
return 0;
}