Kalkulator BMI- Błąd w instrukcji IF
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Kalkulator BMI- Błąd w instrukcji IF

AutorWiadomość
Temat założony przez niniejszego użytkownika
Kalkulator BMI- Błąd w instrukcji IF
» 2011-10-25 16:21:47
witam was serdecznie, tworzę kalkulator BMI i wszystko by było wporządku gdyby nie to:
Kalkulator ma za zadanie obliczyć BMI i podać jego wynik wraz z opisem. Problem polega na tym, że BMI jest liczone prawidłowo bo wychodzi mi 24(porównywałem z innym kalkulatorem w internecie, i wynik jest prawie taki sam), to jednak opis nie działa jak należy. BMI mi wyszło 24, a opis podaje mi wychudzenie. To jest kawałek kodu odpowiadający za opis:
C/C++
if( wynik < 15.0 )
{
    cout << "Wyglodzenie" << endl;
}
else


if( wynik > 15.1 || wynik < 16.6 )
{
    cout << "Wychudzenie" << endl;
}
else


if( wynik > 18.6 || wynik < 24.9 )
{
    cout << "Waga prawidlowa" << endl;
}
else


if( wynik > 25.0 || wynik < 29.9 )
{
    cout << "Okres przed otyloscia" << endl;
}
else


if( wynik > 30.0 || wynik < 34.9 )
{
    cout << "I stopien otylosci" << endl;
}
else


if( wynik > 35.0 || wynik < 39.9 )
{
    cout << "II stopien otylosci" << endl;
}
else


if( wynik > 40.0 )
{
    cout << "III stopein otylosci(otylosc kliniczna)" << endl;
}

Zapewne błąd leży w instrukcji IF, bo nie jestem pewny takiego rozwiązania. Proszę o pomoc. Bez słowa else, pokazuje mi wszystko naraz.
P-42731
» 2011-10-25 16:26:26
Popełniasz tu w tym momencie 2 elementarne błędy:
- mylisz
||
 i
&&

- nie uwzględniasz wszystkich przypadków. Zauważ, co by było, gdyby BMI wynosiło np. 15.001. W swoich ifach i else'ach tego nie uwzględniasz. Zamiast
if( wynik > 15.1 || wynik < 16.6 )
 użyj np.
if( wynik >= 15.0 || wynik < 16.6 )


Popraw to i nie będzie miało prawa nie działać :)
P-42732
Temat założony przez niniejszego użytkownika
» 2011-10-25 18:20:24
Dziękuję za pomoc, programik śmiga, aż miło.
P-42748
« 1 »
 Strona 1 z 1