Dev - C++ - Problemas con do while con char URGENTE

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problemas con do while con char URGENTE

Publicado por Xiaolin Jin Lin (4 intervenciones) el 22/12/2018 17:49:33
Hola, tengo un problema con un código y no se como resolverlo, si alguien me ayuda le agradeciera mucho. En un curso de programación, nos han mandado un ejercicio para resolver, y es hacer un programa que te haga la conversión de Cº a Fº y a la inversa. Bueno he estado escribiendo escribiendo... y me quedado estancado con un problema. El problema es que se me imprime dos veces el printf del principio cuando ya se ha terminado la primera operación, es decir, ejecuto el programa, pulso el C por ejemplo, introduzco un valor, me hace la conversion a F y luego me aparece el printf 2 VECES, y quiero que solo aparezca 1 vez. He usado el fflush(stdin) en todos los lados y no me sirve. He probado de muchas formas y no funciona... alguien me ayuda? gracias.
Uso una pagina online para programar, ''onlinegdb'', y estoy programando en C.


#include <stdio.h>

float conversion (float cel)
{
return (cel * 1.8) + 32;
}

float inversa (float fan)
{
return (fan - 32) / 1.8;

}

int main ()
{
char a;
float c = 0;
float f = 0;
float tem;

do
{
printf("\n¿En que quieres la temperatura, en 2 de Celsius, o en 1 de Fahrenheit? Si quieres salir pulse 3: ");
scanf("%c", &a);


switch (a)
{

case 'F':
case 'f':

{
printf ("Introduzca la temperatura en Celsius: ");
scanf ("%f", &c);
tem = conversion(c);
printf ("\nLa temperatura en Fahrenheit es %.2f", tem);
break;
}

case 'C':
case 'c':

{
printf ("Introduzca la temperatura en Fahrenheit: ");
scanf ("%f", &f);
tem = inversa(f);
printf ("\nLa temperatura en Celsius es %.2f", tem);
break;
}

case 'S':
case 's':
{
printf("\nGrácias por usar el programa. ¡Hasta pronto!");
break;
}

default:
printf("\nOpción incorrecta, inténtalo de nuevo...");
break;
}

}
while (a != S);

return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder