Mehrere If -Bedingungen



  • Gutan abend,
    ich hätte da eine Frage und zwar versuche ich eine If-Anweisung hinzukriegen jedoch funktioniert das i-wie nicht.

    #include<iostream>
    using namespace std;

    int main(){

    char person;
    char ja;

    cout << "Sind sie ein Mann oder eine Frau?" << endl;
    cin >> person;
    if (person == 'm')
    {
    cout << " Sie sind ein Mann" << endl;
    }
    else{
    cout << " Sie sind eine Frau" << endl;
    }

    cout << "Tragen Sie einen Bart " << endl;
    cin >> ja;
    if (ja == 'j'){
    cout << " Bitte rasieren" << endl;
    }
    else {
    cout << " Sie haben einen Babyface :)" << endl;
    }

    system("pause");
    return 0;

    }

    Mein Problem: Sobald ich am anfang einen anderen buchstaben eintippe kommt cout <<"sie sind eine Frau" und danach das nächste cout "Tragen Sie einen Bart".

    Wie krieg ich es hin, nachdem die ausgabe "Sie sind eine Frau" erfolgt ist das sich das Programm beendet ?

    ( PS: Hättet ihr auch ne einfachere Methode ? )

    Mit freundlichen Grüßen



  • Einfach die Bartabfrage in den Block ({}) der if-Bedingung tun. Btw bitte Codetags verwenden, geht mit

    code...
    


  • mc52 schrieb:

    Mein Problem: Sobald ich am anfang einen anderen buchstaben eintippe kommt cout <<"sie sind eine Frau" und danach das nächste cout "Tragen Sie einen Bart".

    WENN Buchstabe == m DANN "Mann"
    SONST "Frau"

    Warum das passiert ist Dir klar?

    mc52 schrieb:

    ( PS: Hättet ihr auch ne einfachere Methode ? )

    Ich würde die Aufgabenstellung mit einem Switch-Case lösen.

    switch(c) {
      case 'm':
      case 'M':
        std::cout << "Mann";
      break;
    
      case 'f':
      case 'F':
        std::cout << "Frau";
      break;
    
      default:
        std::cout << "Fehler";
    }
    

Log in to reply