"else" Fehler



  • float eingabe;
        float kosten = 1.90;
        float BACK;
        float BACK2;
        float RETURN;
    cin>>eingabe;
        if(eingabe < kosten)
        {
            //xxxxxxx
            cin>>BACK2;
            if(BACK2 != BACK)
            {
                cout<<"Cola nicht erfolgreich gekauft!"<<endl;
            } else {
                cout<<"Cola erfolgreich gekauft!"<<endl;
            } else if(!(eingabe)
            {
                cout<<"ERROR!"<<endl;
            } else {
                cout<<"Richtig! Cola erfolgreich gekauft!"<<endl;
            }
        }
    

    Fehlermeldung:

    C:\Dokumente und Einstellungen\Christian Dumberger\Desktop\hauptdatei.cpp:26: error: expected primary-expression before "else"
    C:\Dokumente und Einstellungen\Christian Dumberger\Desktop\hauptdatei.cpp:26: error: expected `;' before "else"
    C:\Dokumente und Einstellungen\Christian Dumberger\Desktop\hauptdatei.cpp:29: error: expected primary-expression before "else"
    C:\Dokumente und Einstellungen\Christian Dumberger\Desktop\hauptdatei.cpp:29: error: expected `;' before "else"
    

    Wo befindet sich denn da der Fehler?

    Christian 😉



  • Christian D. schrieb:

    Wo befindet sich denn da der Fehler?

    Zähl mal die runden Klammern beim zweiten if.



  • ... und such mal das if(), zu dem das zweite else gehört.



  • MFK schrieb:

    Christian D. schrieb:

    Wo befindet sich denn da der Fehler?

    Zähl mal die runden Klammern beim zweiten if.

    Wieso?
    Es stimmt doch alles,oder etwa nicht?



  • Hi, der Aufbau bei dir sieht so aus:

    if()
        {
            //
        }
        else
        {
            //
        }
        // Hier liegt der Fehler! else if darf nur auf if folgen, nicht auf else
        else if
        {
            //
        }
        // Und das else mag er dann auch nicht, weil kein if / else if dazugehört
        else
        {
            //
        }
    


  • Danke für den schnellen Support,funktioniert super,dankeeeeeeee 😉

    Nur noch eines noch zu diesem Thema - Was kann nach was folgen?

    Nach was kann bsp. if, else oder else if folgend,bsp.:

    nach if:

    - else if
    - else

    nach else if:

    - else

    ... ?



  • sry für nochmalen Post(=Doppelpost),ich woltle nur noch fragen,wie man nach "wenn chartyp eingegeben wurde,dann error-nachrichtentext!" fragen möchte?



  • Gegenfrage: Wieviele Zustände kann ein bool-wert haben?

    Richtig, true oder false. Da die Bedingung der if-Anweisung ein boolscher Wert ist, vieviele Möglichkeiten kann man mit if unterscheden?

    Richtig, 2.

    if( bool ) {
    }
    else {
    }
    

    Das, und genau das ist alles was eine if-Anweisung kann. Nicht mehr, nicht weniger.

    Die Sache mit dem else if ist lediglich eine Kurzschreibweise für:

    if( ) {
    }
    else {
       if() {
       }
       else {
       }
    }
    

    Um dieses übersichtlicher zu halten kann man alternativ auch schreiben

    if() {
    }
    else if() {
    }
    else if() {
    }
    [...]
    


  • Eigentlich kann man sich das auch sprachlich schon klarmachen.
    "Wenn es draussen kalt ist gehe ich ins Kino, sonst gehe ich in den Park, sonst bleibe ich Zuhause." Äh, was? 😉



  • LordJaxom schrieb:

    Eigentlich kann man sich das auch sprachlich schon klarmachen.
    "Wenn es draussen kalt ist gehe ich ins Kino, sonst gehe ich in den Park, sonst bleibe ich Zuhause." Äh, was? 😉

    Ich befürchte, eine repräsentative Bevölkerungsumfrage dazu wäre eine ziemlich ernüchternd kalte Dusche .... 😉

    Gruß,

    Simon2.


Anmelden zum Antworten