While-Schleife



  • Hi Leute
    Ich bin noch ein C++-Neuling und lerne mit einem Buch. Leider funktioniert die While-Schleife nicht wie sie sollte aus einem Grund den ich nicht verstehe. Mit den Fehlern kann ich auch nicht viel anfangen.
    Hier der Code:

    #include <iostream>
    using namespace std;
    
    int main ()
    {
    	int Auswahl = 0;
    
    	while (Auswahl != 3)
    	{
    		cout <<"Menue:"<<endl;
    		cout <<"------"<<endl;
    		cout <<"1: Spiel starten"<<endl;
    		cout <<"2: Optionen"<<endl;
    		cout <<"3: Spiel beenden"<<endl;
    
    		cout <<"Deine Wahl: "<<endl;
    		cin >> Auswahl;
    
    		if (Auswahl == 1)
    		{
            cout <<"> Das Spiel wird gestartet <"<<endl;
    		}
    
    		if (Auswahl == 2)
    		{
            cout <<"> Optionen werden eingestellt <"<<endl;
    		}
    
    		if (Auswahl == 3)
    		{
            cout <<"> Das Spiel wird beendet <"endl;
    		}
    
    		else
    		{
            cout <<"> Falsche Eingabe <"endl;
    		}
    
    		cout <<"\n\n\n"<<endl;
    	}
    	return 0;
    	system ("pause");
    

    }

    Und hier ist der Fehler:
    1>c:\users\daniel spiele\documents\visual studio 2010\projects\while-schleife\while-schleife\while-schleife.cpp(32): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'endl'
    1>c:\users\daniel spiele\documents\visual studio 2010\projects\while-schleife\while-schleife\while-schleife.cpp(32): warning C4551: Dem Funktionsaufruf fehlt die Argumentliste
    1>c:\users\daniel spiele\documents\visual studio 2010\projects\while-schleife\while-schleife\while-schleife.cpp(37): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'endl'
    1>c:\users\daniel spiele\documents\visual studio 2010\projects\while-schleife\while-schleife\while-schleife.cpp(37): warning C4551: Dem Funktionsaufruf fehlt die Argumentliste



  • cout <<"> Das Spiel wird beendet <"endl;
                                            // ^-- <<-Operator fehlt
    // ...
            cout <<"> Falsche Eingabe <"endl;
                                    //  ^-- hier auch
    

    Kleiner Tipp: Ein Leerzeichen zwischen den Token macht so etwas leichter sichtbar:

    cout << "> Das Spiel wird beendet <" << endl;
    
    // ...
            cout << "> Falsche Eingabe <" << endl;
    


  • Hallo,

    vergleiche mal die fehlerhafte Zeilen mit den anderen 'cout'-Zeilen.

    Gerade beim "<<"-Operator ist es üblich, davor und danach ein Leerzeichen zu setzen...



  • Danke ich werde eure Tipps befolgen 😉



  • seldon schrieb:

    Kleiner Tipp: Ein Leerzeichen zwischen den Token macht so etwas leichter sichtbar

    Nein, im Gegenteil.



  • volkard schrieb:

    seldon schrieb:

    Kleiner Tipp: Ein Leerzeichen zwischen den Token macht so etwas leichter sichtbar

    Nein, im Gegenteil.

    Doch.



  • Wir sind hier doch nicht auf dem Golfplatz.



  • Ohne Leerzeichen... ist was für Freaks!



  • außerdem wird beim jetzigen Programm jedes Mal (außer beim Beenden) "> Falsche Eingabe <" ausgegeben werden.

    greetz KN4CK3R



  • Die Eingabe könntest du auch mit einer switch-case-Anweisung abfangen, was hier vll. eher Sinn machen würde.


Anmelden zum Antworten