Ich arbeite an einem simplish Spiel (das ist nicht der ganze Code, nur das Bit, mit dem ich Probleme habe) und ich bin in dieses Problem geraten; Nachdem die Bedingung erfüllt ist, geht es zurück zum Anfang und es bietet mir an, die Zeichenfolge erneut einzugeben, jedoch, was auch immer ich betrete, bekomme ich nur 'nicht gültig'. Weiß jemand warum? Ich verwende den GNU C++ Compiler.C++ wenn Bedingung nicht nach goto
#include <iostream>
#include <string>
using namespace std;
int main()
{
string command;
mainscreen:
cout << "blab";
getlinething:
cin.ignore();
getline(cin, command);
if (command == "task")
{
goto mainscreen;
}
else
{
cout << "Not valid.";
goto getlinething;
}
return 0;
}
Bitte benutzen Sie nicht 'goto'. Es ist sehr verwirrend, für irgendjemand anderes und schlechte Praxis zu lesen. Sie sollten eine while-Schleife verwenden, um das zu tun, was Sie tun möchten. – TheValyreanGroup
Die Sache ist, dass dies nur ein Unterprogramm in der ganzen Sache ist, ich habe über die Idee mit goto nachgedacht, aber ich kann nicht wirklich herausfinden, wie man die Unterprogramme verbindet, ohne goto zu benutzen, selbst wenn ich es benutzt habe. –
@Whealty_ Verwenden Sie std :: wstring und wcout und wcin. –