Ir ao conteúdo
  • Cadastre-se

Como fazer uma condicional de numero real ? poder ser o IF ou switch


leonardosb

Posts recomendados

Boa tarde estou com dificuldade em fazer uma condicional de um numero real e imprimir na tela,segue abaixo o algoritmo.porém não esta imprimindo na tela a condicional de IF.

 

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <math.h>
 
main(){
 
float valvula;
 
printf("\nValvula:");
scanf("%f",&valvula);
 
if(valvula == 1.6){
printf("\nCarro economico\n");
}
 
getch();
return 0;
}
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>main() {    float valvula;        printf ( "\nValvula:" );    scanf ( "%f", &valvula );        if ( valvula == 1.6f ) {        printf ( "\nCarro economico\n" );    }        getchar();    return 0;}

Ao tratar de uma literal, si não por nada ao lado do 1.6 ele pensa que se trata de um double.

 Veja como ele agora funciona...

#include <stdio.h>main() {    double valvula; //agora é double        printf ( "\nValvula:" );    scanf ( "%lf", &valvula ); //%lf <-especificador para double        if ( valvula == 1.6 ) {  //double == double correto        printf ( "\nCarro economico\n" );    }        getchar();    return 0;}

Somente mudei o tipo de float a double e ele funcionou, por que ele compara agora double com douuble. Em outras palavras, antes você tinha float == double, por isso dava errado, se trata de 2 tipos diferentes, ao por o f ao lado do 1.6f você tem float == float, então assim sai correto(valvula == 1.6f OK).

 

Entendeu? E não use virgula, use ponto.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...