• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

kalkulator bmi

Object Storage Arubacloud
0 głosów
724 wizyt
pytanie zadane 9 lutego 2018 w C i C++ przez Kr1$u Początkujący (310 p.)

Witam, robie kalkulator bmi a tu nagle problem, za kazdym razem otrzumuje wynik zero oto kod:

 

#include <iostream>

using namespace std;
int waga, wzrost, masa, bmi;
int main()
{
    cout << "Oblicz swoje bmi"<< endl;
	cout<<"Podaj swoj wzrost (cm): ";
	cin>>wzrost;
	cout<<"Podaj swoja wage (kg): ";
	cin>>waga;
	masa=waga/100;
	bmi= masa/(wzrost*wzrost);
	
    cout<<bmi;
    
    return 0;
}

nie mam pojecia w czym blad.

komentarz 9 lutego 2018 przez Ares Obywatel (1,560 p.)
bmi nie może być liczbą całkowitą i po za tym to po co liczysz tą masę skoro jeśli dobrze sprawdziłem to wzór wygląda tak: waga/(wzrost*wzrost)
komentarz 9 lutego 2018 przez Kr1$u Początkujący (310 p.)
#include <iostream>

using namespace std;
int waga, wzrost, wzrost1;
float bmi;
int main()
{
    cout << "Oblicz swoje bmi"<< endl;
	cout<<"Podaj swoj wzrost (cm): ";
	cin>>wzrost;
	cout<<"Podaj swoja wage (kg): ";
	cin>>waga;
	wzrost1=wzrost/100;
	bmi= waga/(wzrost1*wzrost1);

    cout<<bmi;

    return 0;
}




rzeczywiscie moj błąd, z tym ze gdy zmienilem typ zmiennej na float rownież pokazuje 0.
Z ta masa to pomyłka, ale zamiast masy zrobilem wzrost1 a to z tego powody że użytkownik podaje wzrost w centymetrach a we wzorze są metry.

 

komentarz 9 lutego 2018 przez Kr1$u Początkujący (310 p.)
Chciałbym zaznaczyć że kod który podałem również nie działa. Przy Podaniu wzrostu w cm: 188 i wagi 88kg oblicza bmi na 88 xD

4 odpowiedzi

+1 głos
odpowiedź 9 lutego 2018 przez Kr1$u Początkujący (310 p.)

Dałem rade!

 

#include <iostream>

using namespace std;
int waga, wzrost;
float bmi, wzrost1;
int main()
{
    cout << "Oblicz swoje bmi"<< endl;
	cout<<"Podaj swoj wzrost (cm): ";
	cin>>wzrost;
	cout<<"Podaj swoja wage (kg): ";
	cin>>waga;
	wzrost1=wzrost*0.01;
	bmi= waga/(wzrost1*wzrost1);

    cout<<bmi;

    return 0;
}

 

komentarz 12 lutego 2018 przez excavelty Bywalec (2,480 p.)
Nie jestem ekspertem, ale często można spotkać się z poradą, żeby nie używać zmiennych globalnych. Wagę, wzorst, bmi, wzrost1 możesz jak najbardziej zadeklarować wewnątrzn main. W przypadku tego programu nie widać korzyści tego działania, ale unikanie zmiennych globalnych może się okazać koniecznością w przypadku większych projektów. Myślę, że warto stosować taką praktykę nawet na początku nauki. Przyznam szczerze, że sam nie zawsze słuchałem tego typu zaleceń i nadal czasami tego nie robię, a efekt może być taki, że w kodzie później łatwiej się pogubić, albo jest tak napisany, że tylko dla autora jest czytelny (być może niedługo opublikuję tu pewien mały projekcik i spodziewam się, że jeśli ktoś przeczyta kod to nie będzie zadowolony z jakości kodu).
0 głosów
odpowiedź 9 lutego 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)

Uruchom sobie ten kod:

std::cout << (5/2) << std::endl;
0 głosów
odpowiedź 12 lutego 2018 przez MAJ0R Obywatel (1,130 p.)
Zmienna bmi musi być typu double,gdyż nie jest ona liczbą całkowitą i nie potrzebnie pytasz o masę bo wzór wygląda inaczej : masa w kg/wzrost^2.Usuń zmienną masa i linijkę gdzie przypisujesz jej wartość oraz zastąp typ zmiennej bmi z int na double i wszystko powinno działać ;).
–1 głos
odpowiedź 9 lutego 2018 przez marek144 Nowicjusz (140 p.)
Też  niedawno robiłem swój kalkulator bmi, haha.
komentarz 9 lutego 2018 przez Kr1$u Początkujący (310 p.)
to moze pomożesz ;]

Podobne pytania

+1 głos
2 odpowiedzi 2,377 wizyt
pytanie zadane 25 września 2021 w JavaScript przez void6 Użytkownik (790 p.)
+1 głos
1 odpowiedź 561 wizyt
pytanie zadane 28 grudnia 2020 w C# przez Tukan Nowicjusz (190 p.)

92,617 zapytań

141,467 odpowiedzi

319,783 komentarzy

61,999 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...