qual o problema com esse codigo em c++?

eu estou a prendendo c++ e criei um programa para praticar meus conhecimentos.é uma calculadora de imc,o codigo é esse:

#include <iostream> //calculo de imc

using namespace std;

int main()

{

int x; //peso

float y; //altura

float z; //imc

z=x/(y*y); //imc=peso/alura*altura

cout<<"diga sua altura: ";

cin>> y;

cin.ignore();

cout<<"diga seu peso: ";

cin>> x;

cin.ignore();

cout<<"eis o seu imc: "<<(x/(y*y))<<"\n";

cout<<"-----------------------------------------------------------------\n";

if(z<18.5)

{

cout<<"voce esta abaixo do peso normal\n";

}

if ((18.5<z)&(z<24.4))

{

cout<<"voce esta com o peso normal\n";

}

if ((24.4<z)&(z<29.9))

{

cout<<"voce esta em estado de pre-obesidade\n";

}

if (z>29.9)

{

cout<<"voce esta obeso\n";

}

cin.get();

}

Comments

  • Olá Cledson, o problema é que o cálculo estava sendo executado antes do usuário tc as variáveis. Me desculpe mas eu tomei a liberdade de executar outras modificações ;) , o código final está anexo abaixo:

    //Compilado no Dev-C++ 4.9.9.2

    #include <iostream> //calculo de imc

    using namespace std;

    int main()

    {

    int x; //peso

    float y; //altura

    float z; //imc

    //z=x/(y*y); O cálculo estava sendo realizado aki ;)

    cout<<"diga sua altura: [em metros ex. 1.55]";

    cin>> y;

    cin.ignore();

    cout<<"diga seu peso: [m kilogramas ex. 55]";

    cin>> x;

    cin.ignore();

    z=x/(y*y);// Agora esta sendo realizado aki, depois do usuário

    //tc os valores

    cout<<"eis o seu imc: "<<z<<"\n";

    cout<<"------------\n";

    if(z<18.5)cout<<"voce esta abaixo do peso normal\n";

    //Quando o if() tem só uma instrução, ele não necessita das

    //{chaves} ^.^

    if ((z>=18.5)&&(z<24.4))

    cout<<"voce esta com o peso normal\n";

    //O ideal para comparar dois bits com o operador E é &&,

    //não &, mas tb funfa com 1

    if ((z>=24.4)&&(z<29.9))

    cout<<"voce esta em estado de pre-obesidade\n";

    if (z>=29.9)cout<<"voce esta obeso\n";

    cin.get();

    }

    . É isso aí cara!! qualquer coisa de um toke.

Sign In or Register to comment.