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

Obliczenie w C++

0 głosów
1,384 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,890 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ź 4,192 wizyt
pytanie zadane 5 czerwca 2020 w C i C++ przez KeLaN Nowicjusz (150 p.)
0 głosów
1 odpowiedź 2,455 wizyt
pytanie zadane 26 stycznia 2017 w Grafika i multimedia przez Meteos Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 1,338 wizyt
pytanie zadane 24 maja 2021 w C i C++ przez Łukasz Gosek Nowicjusz (120 p.)

93,788 zapytań

142,754 odpowiedzi

323,429 komentarzy

63,394 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...