Was ist an meinem C++ Programm falsch gecodet?

2 Antworten

Mit

if(move == "YORN")
cout << "Yorn" << endl;

ist die Verzweigung beendet. Die Zeile

Position = "Yorn";

wird in jedem Fall ausgeführt.

Was Du vermutlich möchtest ist:

if(move == "YORN") {
  cout << "Yorn" << endl;
  Position = "Yorn";
}

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

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

Der Syntax ist falsch. If-Statements haben diesen Aufbau:

if (bedingung) {
   auszuführender code
}

Bei dir fehlen sowohl beim if als auch beim else if die geschweiften Klammern, weshalb das else if nicht erkennt, dass vor ihm ein if-Statement ist. Das if sorgt für keinen Fehler, weil der Syntax von

if (bedingung)

richtig ist, nur halt kein auszuführender Code vorhanden ist.

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#