Bem, este é o meu primeiro post aqui no fórum e precisava de ajuda num programa. Sou ainda inexperiente a programar, por isso se fosse possível, pedia-vos que me explicassem os meus erros e como melhorar
O enunciado é o seguinte:
Desenvolva um programa que converte temperaturas entre graus centígrados
e Fahrenheit. O programa começa por ler um char seguido de um float. Se o
primeiro for f ou F, o programa converte a temperatura de graus Centígrados
para Fahrenheit; se for c ou C converte de Fahrenheit para Centígrados; caso
contrário escreve uma mensagem de erro e sai antes de ler o valor numérico.
As fórmulas de conversão são as seguintes:
°F = °C × 1,8 + 32.
°C = (°F − 32) / 1,8
O meu código:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int grau;
float temp, C, F;
printf ("\nEscolha \n\n");
printf ("f ou F, para converter para Fahrenheit \n");
printf ("c ou C, para converter para Centígrados \n");
grau = getchar ();
if ((grau != 'c' || grau != 'C') && (grau != 'f' || grau != 'F') && (grau != EOF) );
{
exit (-2);
}
else
{
if ((grau == 'c' || grau == 'C') && (grau == EOF));
{
printf ("Intruduza agora a temperatura em graus Fahrenheit que quer converter para graus Centígrados \n");
scanf ("%f", &temp);
C = (temp - 32) / 1.8;
printf ("%fºF são %fºC \n", temp, C);
exit (-1);
}
if ((grau == 'f' || grau == 'F') && (grau == EOF));
{
printf ("Intruduza agora a temperatura em graus Centígrados que quer converter para graus Fahrenheit \n");
scanf ("%f", &temp);
F = temp * 1.8 + 32;
printf ("%fºC são %fºF \n", temp, F);
exit (0);
}
}
}
Desde já agradeço, a quem me possa ajudar
O enunciado é o seguinte:
Desenvolva um programa que converte temperaturas entre graus centígrados
e Fahrenheit. O programa começa por ler um char seguido de um float. Se o
primeiro for f ou F, o programa converte a temperatura de graus Centígrados
para Fahrenheit; se for c ou C converte de Fahrenheit para Centígrados; caso
contrário escreve uma mensagem de erro e sai antes de ler o valor numérico.
As fórmulas de conversão são as seguintes:
°F = °C × 1,8 + 32.
°C = (°F − 32) / 1,8
O meu código:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int grau;
float temp, C, F;
printf ("\nEscolha \n\n");
printf ("f ou F, para converter para Fahrenheit \n");
printf ("c ou C, para converter para Centígrados \n");
grau = getchar ();
if ((grau != 'c' || grau != 'C') && (grau != 'f' || grau != 'F') && (grau != EOF) );
{
exit (-2);
}
else
{
if ((grau == 'c' || grau == 'C') && (grau == EOF));
{
printf ("Intruduza agora a temperatura em graus Fahrenheit que quer converter para graus Centígrados \n");
scanf ("%f", &temp);
C = (temp - 32) / 1.8;
printf ("%fºF são %fºC \n", temp, C);
exit (-1);
}
if ((grau == 'f' || grau == 'F') && (grau == EOF));
{
printf ("Intruduza agora a temperatura em graus Centígrados que quer converter para graus Fahrenheit \n");
scanf ("%f", &temp);
F = temp * 1.8 + 32;
printf ("%fºC são %fºF \n", temp, F);
exit (0);
}
}
}
Desde já agradeço, a quem me possa ajudar
Última edição: