Ir ao conteúdo
  • Cadastre-se
gabrielleletice

temperatura celsius e fahrenheit para celsius

Recommended Posts

#include<stdio.h>
#include<string.h>
#include <locale.h>

// questão 1

int main(int argc, char** argv)
{
	setlocale(LC_ALL,"portuguese");
	int resp;
	float tc,tf,t;
 while(resp!=0){
	printf("digite 1 para coverter celsisus para fahrenheit\n");
    printf("digite 2 para coverter fahrenheit para celsius\n");
    scanf("%d",&resp);
	printf("digite a temperatura que deseja converter\n");
    scanf("%f",&t);
    if( resp==1){
    	t=tc;
        tf=(tc*1.8)+32;}

    if(resp==2){
    	t=tf;
        tc=(tf*5)/9 -32;}
    
    switch(resp){
		case 1: printf(" %f em fahrenheit\n",t);
		break;
	    case 2: printf(" %f em celsius\n",tc);
	    break;
	    default: printf("sair\n");
  
	}
		
	}
	
	return 0;
}

esse código era pra funcionar na minha opinião, no entanto, há um erro em ambas as conversões que não consigo solucionar :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

#include<stdio.h>
#include<string.h>
#include <locale.h>

// questão 1

int main(int argc, char** argv){
     
	setlocale(LC_ALL,"portuguese");
	int resp;
	float tc,tf,t;
     while(resp!=0){
	    printf("digite 1 para coverter celsisus para fahrenheit\n");
         printf("digite 2 para coverter fahrenheit para celsius\n");
         scanf("%d",&resp);
         printf("digite a temperatura que deseja converter\n");
         scanf("%f",&t);
         if( resp == 1){
    	         tc = t;
              tf = (tc*1.8)+32;
         }
         if(resp == 2){
    	         tf = t;
              //tc = (tf*5)/9 -32;
              tc = (tf - 32)/1.8;
              
         }    
         switch(resp){
		   case 1: printf(" %f em fahrenheit\n",tf);
		   break;
	        case 2: printf(" %f em celsius\n",tc);
	        break;
	        default: printf("sair\n");
  
	    }
		
	}
	return 0;
}

 

adicionado 2 minutos depois

Boa noite apenas fiz inversão nas atribuições em: tc = t, tf = t, inclui outra fórmula. Fiz teste e funcionou

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@gabrielleletice

Alguns pontos.

 

1 - Você inverteu tc=t e tf=t

A temperatura de origem (tc e tf) vai receber a temperatura digitada (t) e não o contrário

 

2 - A saída da mensagem no case 1, seria tf e não t

case 1: printf(" %f em fahrenheit\n",tf);

 

3 - A fórmula de conversão de ºF para ºC está errada.

 

Obs: Eu não usaria números inteiros (sem decimal) nos cálculos. 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×