c++ BMI Rechner


  • Mod

    Lies den Thread! Aufmerksam! Da sind immer noch Fehler drin, die erwähnt wurden, aber noch nicht behoben wurden.



  • Ok ich hab die ganzen fehler rausgefunden riuchtige dummheitsfehler aber trotzdem danke an alle



  • #include <iostream>
    #include <windows.h>
    #include <iomanip>
    
    using namespace std;
    
    int main ()
    {
        float gewicht, grosse, helf, bmiH, bmi ;
        int alter ;
    
        cout << "Geben Sie ihre Groesse ein: ";
        cin >> grosse;
        cout << "Ihre grosse betreagt: " << grosse << "cm";
    
    cout << endl;
    cout << endl;
    
        cout <<"Geben Sie ihr Gewicht ein: " ;
        cin >> gewicht;
        cout << "Ihr Gewicht betreagt: " << gewicht << "kg";
    
    cout << endl;
    cout << endl;
    
        cout << "Geben Sie ihr Alter ein: ";
        cin >> alter;
    
        helf = grosse * grosse;
    
        bmiH = gewicht / helf ;
        bmi = bmiH * 10000;
    
        cout << endl;
    
        cout << "Ihr Bmi liegt bei: " << bmi << endl;
    
    cout << endl;
    cout << endl;
    
        if (alter ==  16 && bmi <= 18 )
            {
                cout << "Sie sind untergewichtig Sie sollten mal ein bisschen mehr reinhauen" << endl;
            }
             else if (alter  == 16 && bmi <= 19||bmi <= 20||bmi <= 21|| bmi <= 22||bmi <= 23||bmi <= 24 )
                {
                    cout << "Sie haben ein normales Gewicht weiter so"<<endl;
                }
             else if (alter  == 16 && bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28 )
            {
                cout << "Du bist leicht pummelig geh mal joggen"<<endl;
                }
                else if (alter  == 16 && bmi >29)
                {
                    cout << "DU FETTSACK GEH MAL ABNEHMEN" << endl;
                    }
         else if (alter  == 17 && bmi <= 18)
        {
            cout << "Sie sind untergewichtig Sie sollten mal ein bisschen mehr reinhauen"<<endl;
        }
         else if (alter  == 17 && bmi <= 19||bmi <= 20|| bmi <= 21||bmi <= 22||bmi <= 23||bmi <= 24)
        {
            cout << "Sie haben ein normales Gewicht weiter so"<<endl;
        }
         else if (alter  == 17 && bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28)
        {
            cout << "Du bist leicht pummelig geh mal joggen"<<endl;
        }
        else if (alter == 17 && bmi >= 29  )
        {
            cout << "DU FETTSACK GEH MAL ABNHEMEN" << endl;
        }
            else if (alter  == 18 && bmi <= 18)
            {
                cout << "Sie sind untergewichtig Sie sollten mal ein bisschen mehr reinhauen " << endl;
            }
            else if (alter == 18 && bmi <= 19||bmi <= 20||bmi <= 21||bmi <= 22||bmi <= 23||bmi <= 24)
            {
                cout << "Sie haben ein normales Gewicht weiter so" << endl;
            }
            else if (alter  == 18 && bmi == 25||bmi == 26||bmi == 27||bmi == 28)
            {
                cout << "Du bist leicht pummelig geh mal joggen"<<endl;
            }
            else if (alter  == 18  && bmi >29)
            {
                cout << "DU FETTSACK GEH MAL ABNEHMEN" << endl;
            }
    
         cout << endl;
         cout << endl;
    
        cout << setw(10) << "ALTER |" << setw (14) << "Untergewicht |" << setw (15) << "Normalgewicht |" << setw(15) << "Leichtes Uebergewicht |" << setw(13) << "Uebergewicht|" << endl;
        cout << setw(10) << "------|" << setw (14) << "-------------|" << setw (15) << "--------------|" << setw(15) << "----------------------|" << setw(13) << "------------|" << endl;
        cout << setw(10) << "  16  |" << setw (14) << "     <18     |" << setw (15) << "     19-24    |" << setw(15) << "         25-28        |" << setw(13) << "     >29    |" << endl;
        cout << setw(10) << "  17  |" << setw (14) << "     <18     |" << setw (15) << "     19-24    |" << setw(15) << "         25-28        |" << setw(13) << "     >29    |" << endl;
        cout << setw(10) << "  18  |" << setw (14) << "     <18     |" << setw (15) << "     19-24    |" << setw(15) << "         25-28        |" << setw(13) << "     >29    |" << endl;
        cout << setw(10) << "19-24 |" << setw (14) << "     <18     |" << setw (15) << "     19-24    |" << setw(15) << "         25-28        |" << setw(13) << "     >29    |" << endl;
        cout << setw(10) << "25-34 |" << setw (14) << "     <19     |" << setw (15) << "     20-26    |" << setw(15) << "         27-29        |" << setw(13) << "     >30    |" << endl;
        cout << setw(10) << "35-44 |" << setw (14) << "     <20     |" << setw (15) << "     21-26    |" << setw(15) << "         27-30        |" << setw(13) << "     >31    |" << endl;
        cout << setw(10) << "45-54 |" << setw (14) << "     <21     |" << setw (15) << "     22-27    |" << setw(15) << "         28-31        |" << setw(13) << "     >32    |" << endl;
        cout << setw(10) << "55-64 |" << setw (14) << "     <22     |" << setw (15) << "     23-28    |" << setw(15) << "         29-32        |" << setw(13) << "     >33    |" << endl;
        cout << setw(10) << "65-90 |" << setw (14) << "     <23     |" << setw (15) << "     24-29    |" << setw(15) << "         30-33        |" << setw(13) << "     >34    |" << endl;
    
        cin.get ();
        return 0;
    }
    

  • Mod

    if (alter  == 16 && bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28)
    

    Denkst du auch nach über das was du schreibst oder ist das eher Codeerzeugung am Fließband?



  • SeppJ schrieb:

    if (alter  == 16 && bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28)
    

    Denkst du auch nach über das was du schreibst oder ist das eher Codeerzeugung am Fließband?

    lel zum kaputtlachen 😃



  • was ist denn daran so witzig?


  • Mod

    bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28
    

    Ist komplett identisch zu

    bmi <= 28
    

    Und der Compiler wird es höchstwahrscheinlich auch wegoptimieren.



  • Stimmt -.-

    Ja daruber kann man lachen. xD



  • Sgaf schrieb:

    if (alter  == 16 && bmi <= 25||bmi <= 26||bmi <= 27||bmi <= 28)
    

    Hm mal sehen. Nehmen wir an, das Alter ist 17 und bmi 25. Dann ergibt die Bedingung true. Obwohl doch direkt am Anfang auf "alter == 16" geprüft wird.

    Lässt man übrigens die überflüssigen Bedingungen weg, also

    if (alter  == 16 && bmi <= 25)
    

    dann ergibt das plötzlich false.

    Denk mal drüber nach.


  • Mod

    Ups, habe gar nicht hingeschaut dass dort ja noch ein && versteckt ist.

    Dann gilt dasselbe eben für bmi <= 26||bmi <= 27||bmi <= 28 .


Anmelden zum Antworten