Ir ao conteúdo
  • Cadastre-se
MatheusINF

C dando erro na execução

Recommended Posts

Fala galera preciso fazer um algoritmo que calcula o IMC de alguém, porém quando eu rodo meu algoritmo ele aparece "Abaixo do peso idealAcima do peso ideal", e não apenas um, isso ocorre independente dos valores que eu coloco, alguém sabe como arrumar?

 

#include <stdio.h>

int main()
{

 

// VARIAVEIS
  float peso;
  float imc;
  float altura;

 

// INICIO
   printf("Digite o seu peso em KG: \n");
   scanf("%f",&peso);
   printf("Digite a sua altura em metros: \n");
   scanf("%f",&altura);
   imc=peso/(altura*altura);

 

 if(imc<18,5){
    printf("Abaixo do peso ideal");
   }
   else
   if(imc<=25,0){
    printf("Peso ideal");
   }
   else
    (imc>25,0);
    printf("Acima do peso ideal");

  return 0;
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou um if antes do ultimo else. E nao leva ponto e virgula depois do if, ou else if nem do else. A estrutura correta seria algo assim:
if(...){
...
}else if (...){
...
}else{
...
}

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

O último Else está codificado errado, você pode colocar um Else If com a condição maior que 25 como você fez tirando os dois pontos depois da comparação.

Agora você pode também só colocar Else, já que o IMC não é menor que 18,0, e não é menor que 25,0 só pode ser maior do 25,0. Só colocar Else e o código a ser executado.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um elemento em particular que passou e não foi visto: A virgula!!!!

 

Fraçoes são representadas com ponto.

Exo.: 12,5 em C se escreve 12.5

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, AnsiC disse:

Tem um elemento em particular que passou e não foi visto: A virgula!!!!

 

Fraçoes são representadas com ponto.

Exo.: 12,5 em C se escreve 12.5

 

 

Isso mesmo, depois de programar vários programas você pega o jeito de como digitar literalmente os tipos de dados em C.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, daniel.oliveira disse:

Isso mesmo, depois de programar vários programas você pega o jeito de como digitar literalmente os tipos de dados em C.

No caso em particular foi um choque de culturas porque para orgão ABNT é 12,5 para o ANSI é 12.5 

 

Um vez apr3ndido duvido que seja algo fácil de esquecer, não é nada perto de saber 10 teoremas principais do calculo.

 

  • 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

×