Frage von alksdpodksd, 54

C++]]]]]Was mache ich hier falsch?

Was mache ich bei Else if falsch?

Antwort
von dragonflyamber, 28

Du willst also nur zwischen Eingabe "1" oder anderem unterscheiden?
Probiers so:

if(a==1){
cout <<"a";
}
else{
cout <<"2"
}

Wenn du nur Eingaben 1 oder 2 erwartest kannst du auch eine "switch" verwenden:

switch(a){

case 1:
cout <<"a";

break;

case 2:
cout <<"2";

break;

}

Dieser Befehl ruft quasi einzele Fälle (engl: case) auf und wird jeweils mit break beendet...

Antwort
von W00dp3ckr, 26

Du hast die Klammer zu früh geschlossen. main() ist schon lang vorbei, da kommst Du mit einem else daher. Das passt dann natürlich nicht.

Antwort
von azmd108, 19

geschweifte Klammer muss nach dem if geöffnet werden, haste vergessen

Antwort
von apophis, 22

Deine Mainfunktion geht nur bis über den Else if.
Du hast ein { nach den If vergessen. beziehungsweise vor dem Else if ein } zu viel.

Kommentar von alksdpodksd ,

Ok danke kannst du mir vllt ein Buch für Anfänger empfehlen ?

Kommentar von apophis ,

Hab nie Bücher verwendet, daher nicht.

Kommentar von dragonflyamber ,

Ich kann dieses Buch empfehlen:
http://www.buecher.de/shop/buecher/spielend-c-lernen-oder-wie-man-kaefern-beine-...
Musst mal gucken ob du das irgendwo noch (gebraucht) bekommst. Da ist alles so erklärt, dass man es auch versteht wenn man noch keine Fachbegriffe kennt. Hat mir sehr geholfen...

Kommentar von alksdpodksd ,

Kannst du den c++?

Kommentar von apophis ,

Hatte es zwei Jahre lang innerhalb einer schulischen Ausbildung gelernt. Viel komplexere Dinge als ein Schlange und Leitern Spiel waren es am Ende aber nicht.

Antwort
von TUrabbIT, 14

Dein Code ist ziemlich verwurstet.

Du beendest nach dem jetzigen Stand nach dem If die main-Methode, die if-Klausel wird ausgewertet und nichts weiteres damit getan, die else if anweisung hängt frei außerhalb der Methoden. Pass mit den Geschweiften Klammern auf.

Was du möchtest ist wahrscheinlich:

int main() {
int a;
cin>>a;
if (a==1) {
cout<<"a"
}
else if(a==2) {
cout<<"2"
}
}
return 0;
}

Keine passende Antwort gefunden?

Fragen Sie die Community