Program do obliczania BMI wyświetla zawartość wszystkich ifów

0

Mam problem z programem do obliczania bmi. Mianowicie gdy podam masę, oraz wzrost program zamiast wypisać mi wszystko z jednego if-a leci po kolei i wypisuje wszystko na ekran. Gdzie jest błąd ? :)

#include <iostream>
using namespace std;


int main()
{
    float m,w,bmi;
    cout<<"podaj swoja mase oraz wzrost "<<endl;
    cin>>m;
    cin>>w;
    bmi=m/(w*w);

    if(bmi<16,0)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = wyglodzenie";
    }

    if(bmi>=16,0 and bmi<=16,99)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = wychudzenie";
    }

    if(bmi>=17,0 and bmi<=18,49)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = niedowaga";
    }

    if(bmi>=18,5 and bmi<=24,99)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = prawidlowe";
    }

    if(bmi>=25,0 and bmi<=29,99)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = nadwaga";
    }

    if(bmi>=30,0 and bmi<=34,99)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = 1 stopien otylosci";
    }

    if(bmi>=35,0 and bmi<=39,99)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = 2 stopien otylosci";
    }

    if(bmi>=40)
    {
    cout<<"Twoje BMI wynosi " <<bmi<< " = 3 stopien otylosci";
    }
    return 0;
}

1

Separatorem dziesiętnym jest kropka, a nie przecinek.

1

Po drugie, jeśli już koniecznie chcesz tworzyć takie drabinki ifów, to po każdym warunku powinieneś mieć słówko else; Teraz jeśli pierwszy warunek zostanie spełniony, to pozostałe mimo wszystko zostaną sprawdzone, a to zbędne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1