Kalkulator BMI- Błąd w instrukcji IF
Ostatnio zmodyfikowano 2011-10-25 18:20
bingo009 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: 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. |
|
m4tx |
» 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ć :) |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2011-10-25 18:20:24 Dziękuję za pomoc, programik śmiga, aż miło. |
|
« 1 » |