Fehler im Quellcode

DaaN

Grünschnabel
Hallo,

bin erst seit kurzem dabei mich mit der Programmiersprache C++ auseinanderzusetzen. Hab aber jetzt ein Problem mit einem kleinen Programm das ich gerne schrieben möchte. Bei diesem Programm sollte man 3 Versuche habe eine Zahl zwischen 1-10 zu erraten. Ich finde einfach nicht den Fehler im Quellcode, ich hoffe ihr könnt mir weiterhelfen. Das Pogramm ist noch ziemlich ausbaufähig aber ich möchte erstmal das er die Hauptfunktion erfüllt. Mein Compiler meckert das ich mir ein Semikolon bei else fehlt, hab aber schon jede Schreibweise die kenne ausgetestet ohne Erfolg.


Code:
#include <iostream>

using namespace std;

int main()
{

int zahl1 = 3;

    cout << "Errate eine Zahl zwischen 1-10, du hast 3 Versuche" << endl;

cin >> zahl1;
    
if (zahl1 == 3)
{
   cout << "Prima, direkt beim ersten Versuch" << endl;
}
else ()
{
   cout << "Leider falsch, nächster versuch!" << endl;
}

cin >> zahl1;

if (zahl1 == 3)
{
   cout << "Nur 2 Versuche, du bist gut" << endl;        
}          
else ()
{
   cout << "Leider falsch, letzter Versuch!" << endl; 
}     

cin >> zahl1;

if (zahl1 == 3)
{
   cout << "Alle Dinge sind 3, dein letzter Versuch ist Richtig" << endl;
}
else ()
{
   cout << "Dein letzter Versuch ist leider auch falsch!" << endl;   
}
      
    system("PAUSE");
    return 0;
}


Viele Grüße
DaaN
 
Zuletzt bearbeitet:
Hi.

Du hast in den if-Bedingungen statt des Vergleichsoperators == (2 Gleichheitszeichen) den Zusweisungsoperator = verwendet.

Gruß
 
Hallo,

lösch mal die runden Klammern hinter else. Ich weiß nicht, ob das den Fehler auslöst, aber an dieser Stelle habe ich noch nie Klammern gesehen.
 
Hi,

danke, es hat an den runden Klammern hinter else gelegen.
Also werden die runden Klammern bei else nur gesetzt wenn eine Bedingung erfüllt werden muss?

Wenn ich bei meinem Pogramm anstelle von Zahlen, versuche Buchstaben einzugeben werden alle 3 (positiven) Bedinungen erfüllt und erscheinen dann hintereinander. Wisst ihr woran das liegen könnte?
 
Hi,

danke, es hat an den runden Klammern hinter else gelegen.
Also werden die runden Klammern bei else nur gesetzt wenn eine Bedingung erfüllt werden muss?

Wenn Du dir mal die 5 minuten nehmen würdest um die Tutorials anzuschauen die oben verlinkt wurden könntest Du dort nachlesen das hinter einem else NIE runde Klammern stehen.
 
Bei else keinen runden Klammern, sondern bei else if.

Du kannst folgendes schreiben:

Code:
if (<Bedingung>) {

} else if (<Bedingung>){

} else {

}

else fragt keine Bedingung ab, sondern nur if oder else if. else fängt immer den ganzen Rest ab, also alles, was nicht unter die obigen Bedingungen fällt.

Alles klar?
 
Zurück