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

Obliczenie w C++

Object Storage Arubacloud
0 głosów
763 wizyt
pytanie zadane 4 marca 2020 w C i C++ przez nifeone Początkujący (370 p.)

Witam. Męczę się od jakiegoś czasu z pewnym działaniem w C++. 
Podaję takie wartości
Waga = 80
WZROST=188
WIEK=22

ale wynik się nie zgadza. Zamiast ok. 1950 wychodzi 66. To mój pierwszy samodzielny program, dlatego proszę o wyrozumiałość. Jest on w trakcie tworzenia dlatego jeszcze trochę nieład, bo męczę się z tym problemem. 

#include <iostream>

using namespace std;

main()
{
    float ppm; //PPM - PODSTAWOWA PRZEMIANA MATERII 
    float cpm; //CPM - DZIENNE ZAPOTRZEBOWANIE KALORYCZNE
    double wiek, waga, wzrost; 
    float aktywnosc, pal, plec;
    
    cout  << "Witaj w moim kalkulatorze ZAPOTRZEBOWANIA KALORYCZNEGO!\n";
    cout <<"Podaj swoja aktywnosc fizyczna\n\n";
    cout <<"1. Lezacy lub siedzacy tryb zycia, brak aktywnosci fizycznej \n";
    cout <<"2. Praca siedzaca, aktywnosc fizyczna na niskim poziomie \n";
    cout <<"3. Praca nie fizyczna, trening 2 razy w tygodniu\n";
    cout <<"4. Lekka praca fizyczna, trening 3-4 razy w tygodniu\n";
    cout <<"5. Praca fizyczna, trening 5 razy w tygodniu \n";
    cout <<"6. Ciezka praca fizyczna, codzienny trening \n";
    cin >> pal;
    if (aktywnosc==1)
    {
        pal=1,0;
    }
    else if (aktywnosc==2)
    {
        pal=1,2;
    }
    else if (aktywnosc==3)
    {
        pal=1,4;
    }
    else if (aktywnosc==4)
    {
        pal=1,6;
    }
    else if (aktywnosc==5)
    {
        pal=1,8;
    }
    else if (aktywnosc==6)
    {
        pal=2,0;
    }
        
    cout <<"Wybierz plec: \n";
    cout <<"1. Mezczyzna \n";
    cout <<"2. Kobieta \n";
    cin >> plec;
    getchar();
        if(plec==1)
        {
            cout <<"Podaj swoj wiek: ";
            cin >> wiek;
            cout <<"Podaj swoja wage: ";
            cin >> waga;
            cout <<"Podaj swoj wzrost: ";
            cin >> wzrost;
            
            //CHODZI MI O DZIAŁANIE = (66,5 + 13,7 * 80 + 5 * 188 - 6,76 * 22); 
            ppm = 66,5 + (13,7 * waga) + (5 * wzrost) - (6,76 * wiek);
            cout <<"Twoje PPM (Podstawowa Przemiana Materii) wynosi: " <<ppm <<"\n";
            
        //    cout  << "Pora obliczyc Twoje dzienne zapotrzebowanie kaloryczne, czyli CPM: \n"; //CPM = PPM x współczynnik aktywności fizycznej 
        //    cpm = (ppm * pal);
        //    cout <<"Twoje dzienne zapotrzebowanie kaloryczne to: " <<cpm <<"\n";
        //    cout <<"Wynik powyzszego rownania stanowi indywidualne zapotrzebowanie kcal na utrzymanie wagi jaka aktualnie posaidasz.\n";
            
        }    

 

komentarz 4 marca 2020 przez grineee Bywalec (2,270 p.)
po co tam jest ten getchar(); ?
komentarz 4 marca 2020 przez nifeone Początkujący (370 p.)
Zapomniałem tego usunąć. Już go nie ma
komentarz 4 marca 2020 przez Kacper Sas Dyskutant (8,460 p.)

@nifeone,

    cout  << "Witaj w moim kalkulatorze ZAPOTRZEBOWANIA KALORYCZNEGO!\n";
    cout <<"Podaj swoja aktywnosc fizyczna\n\n";
    cout <<"1. Lezacy lub siedzacy tryb zycia, brak aktywnosci fizycznej \n";
    cout <<"2. Praca siedzaca, aktywnosc fizyczna na niskim poziomie \n";
    cout <<"3. Praca nie fizyczna, trening 2 razy w tygodniu\n";
    cout <<"4. Lekka praca fizyczna, trening 3-4 razy w tygodniu\n";
    cout <<"5. Praca fizyczna, trening 5 razy w tygodniu \n";
    cout <<"6. Ciezka praca fizyczna, codzienny trening \n";
    cin >> pal;

Jeśli dobrze rozumiem zamysł, chodziło Ci raczej o:

cin >> aktywnosc;

Skoro zmienna "aktywnosc" przybiera postać liczby całkowitej zmień typ na int (ewentualnie jak zależy Ci na pamięci to może 8b).

2 odpowiedzi

+1 głos
odpowiedź 4 marca 2020 przez DawidK Nałogowiec (37,910 p.)
wybrane 4 marca 2020 przez nifeone
 
Najlepsza
Zamien wszystkie przecinki w liczbach (nie tylko te w dzialaniu - w ifach tez) na kropki.
komentarz 4 marca 2020 przez nifeone Początkujący (370 p.)
Drobniutki błąd, a ile mnie czasu kosztował. Dziękuję bardzo!!
+1 głos
odpowiedź 4 marca 2020 przez amtrax Dyskutant (9,630 p.)
Zamiast instrukcji warunkowej 'if', warto użyć opcji switch , kod zrobi się o wiele bardziej czytelny

 

Pozdrowienia

Podobne pytania

0 głosów
1 odpowiedź 3,337 wizyt
pytanie zadane 5 czerwca 2020 w C i C++ przez KeLaN Nowicjusz (150 p.)
0 głosów
1 odpowiedź 1,833 wizyt
pytanie zadane 26 stycznia 2017 w Grafika i multimedia przez Meteos Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 546 wizyt
pytanie zadane 24 maja 2021 w C i C++ przez Łukasz Gosek Nowicjusz (120 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...