Conversor de Temperatura
A convers˜ao de graus Fahrenheit para Celsius ´e obtida pela f´ormula:
(TempFahrenheit -32 ) x 5/9 = TempCelsius
Escreva um software que calcule e apresente todas as temperaturas (em Celsius) correspondentes
a uma faixa fornecida pelo usu´ario em Fahrenheit, incluindo os pr´oprios valores limites. A
variac¸ ˜ao entre os valores da faixa deve observar a mudanc¸a de umgrau Fahrenheit.
Entrada
Duas entradas int, sendo a primeira para a menor temperatura e o segundo para amaior teperatura
em Fahrenheit.
Sa´ıda
Para cada valor da faixa, mostrar a quantidade de graus Fahrenheit, sucedida de um espac¸o em
branco, um caractere ’F’, depois outro espac¸o em branco, o caractere ’:’, depois outro espac¸o em
branco, o correnspondente em graus Celsius, depois um espac¸o em branco, seguido do caractere
’C’, finalizado por quebra de linha.
KuroeJin:
Em qual linguagem de programação?
Respostas
respondido por:
0
#include<stdio.h>
//limpa o buffer do teclado
#define LIMPABUFFER while(getchar()!='\n');
/*armazena o valor inicial ('f[0]') e final ('f[1]') do grau farhenheit e garante que 'f[0]'<'f[1]'*/
int farhenheit_value(int f[], int aux){
printf("Insira um valor inteiro em graus Farhenreit %d('1'<'2'): ", (aux+1));
scanf("%d", &f[aux]);
LIMPABUFFER;
if(aux>0){
if(f[aux-1]>f[aux]) return farhenheit_value(f, aux);
return 0; }
return farhenheit_value(f, aux+1); }
//exibe o grau farhenheit e o grau celsius correspondente até o valor de'f'
int celsius(int f_ini, int f){
if(f_ini<=f){
printf("%d F: %.2f C\n", f_ini, (((float)f_ini-32.0)*5.0/9.0));
return celsius(f_ini+1, f); }
return 0; }
int main(void){
int f[2];
farhenheit_value(f, 0);
celsius(f[0], f[1]);
getchar();
return 0; }
//limpa o buffer do teclado
#define LIMPABUFFER while(getchar()!='\n');
/*armazena o valor inicial ('f[0]') e final ('f[1]') do grau farhenheit e garante que 'f[0]'<'f[1]'*/
int farhenheit_value(int f[], int aux){
printf("Insira um valor inteiro em graus Farhenreit %d('1'<'2'): ", (aux+1));
scanf("%d", &f[aux]);
LIMPABUFFER;
if(aux>0){
if(f[aux-1]>f[aux]) return farhenheit_value(f, aux);
return 0; }
return farhenheit_value(f, aux+1); }
//exibe o grau farhenheit e o grau celsius correspondente até o valor de'f'
int celsius(int f_ini, int f){
if(f_ini<=f){
printf("%d F: %.2f C\n", f_ini, (((float)f_ini-32.0)*5.0/9.0));
return celsius(f_ini+1, f); }
return 0; }
int main(void){
int f[2];
farhenheit_value(f, 0);
celsius(f[0], f[1]);
getchar();
return 0; }
Perguntas similares
6 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás