• Matéria: Informática
  • Autor: juuhmoreira16
  • Perguntado 9 anos atrás

O meu da erro :/, pois era pra dar que está abaixo do peso.
Fazer um programa em C++ que solicite o nome, idade, peso e altura. (2,0)
Calcule o IMC (Índice de Massa Corporal) através da fórmula =(peso)/(Altura*Altura).
Baseando-se nas faixas de resultados, exiba as mensagens respectivas:
* Abaixo de 17: Muito abaixo do peso
* Entre 17 e 18,49: Abaixo do peso
* Entre 18,5 e 24,99: Peso Normal
* Entre 25 e 29,99: Acima do peso
* Entre 30 e 34,99: Obesidade I
* Entre 35 e 39,99: Obesidade II (severa)
* Acima de 40: Obesidade III (mórbida)
Exemplo de mensagem que deverá ser exibida ao término da execução.
FULANO, VOCÊ TEM 16 ANOS E SEU IMC É DE 24.4 SIGNIFICA QUE VOCÊ ESTÁ COM
PESO NORMAL... PARABÉNS!!!

Anexos:

Respostas

respondido por: exploit
1
Notei que você está inserindo sua altura separanda por vírgula. Na regra americana não se usa vírgula, mas sim, ponto. (1.52)

#include <iostream>
#include <locale.h>

using namespace std;

char const* pesoIdeal(float test){

    if ( test < 17.00 ){
        return "Muito abaixo do peso";
    }else if( test >= 17.00 && test <= 18.49){
        return "Abaixo do peso";
    }else if( test >= 18.5 && test <= 24.99 ){
        return "Peso normal";
    }else if( test >= 25.00 && test <= 29.99 ){
        return "Acima do peso";
    }else if( test >= 30.00 && test <= 34.99 ){
        return "Obesidade I";
    }else if( test >= 35.00 && test <= 39.99 ){
        return "Obesidade II";
    }else if( test >= 40.00 ){
        return "Obesidade III";
    }

}

int main(){

    setlocale(LC_ALL, "");
    char name[20];
    int idade;
    float peso, altura, imc;

    cout << "Insira seu nome: ";
    cin >> name;

    cout << "Insira sua idade: ";
    cin >> idade;

    cout << "Insira seu peso: ";
    cin >> peso;

    cout << "Insira sua altura: ";
    cin >> altura;

    imc = peso/(altura*altura);
    cout.precision(4);
    cout << name << ", você tem " << idade << " anos e seu IMC é " << imc << " significa que você está " << pesoIdeal(imc) << endl;

    return 0;
}



juuhmoreira16: Muito obrigado
exploit: de nada.
Perguntas similares