Pomoc z warunkami
Ostatnio zmodyfikowano 2017-11-11 16:57
Zigor36 Temat założony przez niniejszego użytkownika |
Pomoc z warunkami » 2017-11-11 16:49:06 Witam mam pewien problem z warunkami w moim programie sprawdzającym wskaźnik bmi. #include <iostream> #include <conio.h> using namespace std; float waga, wzrost, bmi;
int main() { cout << "Podaj wage w kg: "; cin >> waga; cout << "Podaj wzrost w m: "; cin >> wzrost; bmi = waga /( wzrost * wzrost ); if( bmi <= 18, 5 ) { cout << "Twoje bmi to: " << bmi << endl; cout << "Masz niedowage." << endl; } if( bmi > 18.5 && bmi <= 25 ) { cout << "Twoje bmi to: " << bmi << endl; cout << "Masz prawidlowa wage." << endl; } if( bmi > 25 ) { cout << "Twoje bmi to: " << bmi << endl; cout << "Masz nadwage" << endl; } else cout << "Zle dane." << endl; getch(); }
Po wykonaniu tego programu z przykładowymi danymi: waga=55 wzrost=1.7 Na ekranie pokazuje się: Podaj wage w kg: 55 Podaj wzrost w metrach: 170 Twoje bmi to: 19.0311 Masz niedowage. Twoje bmi to: 19.0311 Masz prawidlowa wage. Zle dane. I moje pytanie brzmi, dlaczego wykonał się więcej niż jeden warunek. Próbowałem już wykorzystać else if'y, ale wtedy nawet jak bmi było>25, to pokazywało, że jest niedowaga. |
|
maly7 |
» 2017-11-11 16:57:03 Else dotyczy tylko ostatniego warunku, czyli jeśli bmi jest mniejsze od 25 to else się wykona. Wszystkie warunki muszą byc 'jednością', więc wszędzie dodaj else. Dodatkowo taki mały błąd: Oczywiście powinno byc 18.5. |
|
« 1 » |