Else Funktion nach mehrere if Funktionen



  • Hallo, und zwar habe ich das Problem, dass ich mehrere if Befehle nutze (s. unten) und würde am Ende gerne schreiben dass er else (wenn keines von den if richtig ist) "kein Befehl vorhanden" ausgibt,
    weiß jemand wie ich das machen kann?

    #include <iostream> 
    #include <cmath> 
    
    using namespace std; 
    
    int main () { 
    
        float a, b, c, h, alpha, beta, A, U, R; 
        const float pi = 3.14159265359; 
        string e,z; 
        cin >> e >> z; 
    
        if (e=="a" && z=="b" || e=="b" && z=="a") { 
              cout << "bitte zuerst den Wert fuer a, dann den Wert fuer b eingeben \n"; 
              cin >> a >> b; 
              c = sqrt (a*a+b*b); 
              A = a*b/2; 
              h = 2*A/c; 
              U = a+b+c; 
              R = c/2; 
              alpha = (asin (a/c))*(360/(2*pi)); 
              beta = 90 - alpha; 
              cout << "\n gegebene Werte: a= " << a << " ,b= " << b << endl << "\n Die Seite c= " << c << "\n Die Hoehe= " << h << "\n Der Flaechninhalt= "<< A << "\n Der Umfang = " << U << 
              "\n Der Umkreisradius= " << R<< "\n Der Winkel Alpha= " << alpha<< "\n Der Winkel Beta = " << beta << endl;   }
    
        if (e=="b" && z=="c" || e=="c" && z=="b") { 
              cout << "Bitte zuerst den Wert fuer b und dann fuer c eingeben" << endl; 
              cin >> b >> c; 
              a = sqrt (c*c-b*b); 
              A = a*b/2; 
              h = 2*A/c; 
              U = a+b+c; 
              R = c/2; 
              alpha = (asin (a/c))*(360/(2*pi)); 
              beta = 90 - alpha; 
              cout << "\n gegebene Werte: b= " << b << " ,c= " << c << endl << "\n Die Seite a= " << a << "\n Die Hoehe= " << h << "\n Der Flaechninhalt= "<< A << "\n Der Umfang = " << U << 
              "\n Der Umkreisradius= " << R<< "\n Der Winkel Alpha= " << alpha<< "\n Der Winkel Beta = " << beta << endl;} 
    
       if (e=="a" && z=="c" || e=="c" && z== "a") {
              cout << "Bitte zuerst den Wert fuer a und dann fuer c eingeben" << endl; 
              cin >> a >> c; 
              b = sqrt (c*c-a*a); 
              A = a*b/2; 
              h = 2*A/c; 
              U = a+b+c; 
              R = c/2; 
              alpha = (asin (a/c))*(360/(2*pi)); 
              beta = 90 - alpha; 
              cout << "\n gegebene Werte: a= " << a << " ,c= " << c << endl << "\n Die Seite b= " << b << "\n Die Hoehe= " << h << "\n Der Flaechninhalt= "<< A << "\n Der Umfang = " << U << 
              "\n Der Umkreisradius= " << R<< "\n Der Winkel Alpha= " << alpha<< "\n Der Winkel Beta = " << beta << endl;}   
    
       else { 
            cout << "kein Befehl vorhanden";}
    
        system ("Pause"); 
        return 0; 
    }
    




  • OK, danke für den Link ich habe allerdings eine weitere Frage:

    Ich würde gerne für die Übersicht eine Funktion eingeben, dass wenn man "help" eingibt,man zu einer List mit den Funktionen kommt.

    Wie kann ich das in meinen Programmcode einfügen, denn ich habe geschrieben

    if (e=="help") { cout << ....;}
    

    dann habe ich aber das Problem dass ich auch noch die zweite Variabel z eingeben muss wegen cin << e,z.

    Wie kann ich das verhindern, sodass nachdem ich für e "help" eingegeben habe gleich das richtige erscheint und dass ich nicht auch noch z eingeben muss.



  • Indem du erstmal nur e einliest.

    Wenn das nicht "help" ist, dann liest du noch z ein.



  • Wie genau meinst du das, kannst du mir das bitte an meinem code bsp zeigen, kenne mich nicht so gut aus, bin noch anfänger 🙂



  • cin >> e ; 
    if (e=="help") 
    { cout << ....;
    }
    else 
    {
      cin >> z; 
    
      Rest von der Berechnung hier
    }
    


  • Ach so meintest du das, Vielen Dank, ist eine sehr gute Idee, hast mir wirklich weitergeholfen!


Log in to reply