Muchísimas gracias, teníais razón, había que limpiar el bufe. Le he puesto
fflush(stdin) no se recomienda, las razones de ello en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.Código:
fflush(stdin)
antes de los Código:
printf
y va perfecto.Tu problema se genera porque "%c" no descarta el espacio blanco antes de consumir los caracteres validos para la conversión indicada. Por ejemplo si al pedir el tipo de conversión introduces:
Código:
E{ENTER}
La primera llamada a scanf consume el carácter 'E', el carácter '\n' generado al presionar {ENTER} se queda en el bufer de la entrada estándar y es consumido por la segunda llamada a scanf.Para evitarlo basta con utilizar " %c" en las dos llamadas a scanf.
Un saludo