Ich schätze es, dass Sie sich die Zeit nehmen, mein Problem zu lesen, tut mir leid, ich bin nur ein Anfänger in der Programmierung. Anscheinend bin ich nicht so gut in Schleifen und wenn sonst Aussage und ich weiß nicht was falsch in meinem Code ist. Wenn ich es starte und "up" eingabe, gehe ich einfach zu (8,10). es sollte (0,1) gewesen sein, dann wird die Konsole fragen, in welche Richtung sie wieder gehen wollen. Danke im Voraus!!! : DC++ Mein Programm ist in der Endlosschleife
#include<iostream>;
#include<string>;
using namespace std;
int main()
{
int x = 0;
int y = 0;
string input;
cout << "objective: go to (8,9)" << endl;
cout << "current location (" << x << "," << y << ")" << endl;
while ((x = 8) && (y = 9))
{
cout << "which way do you want to go?: ";
cin >> input;
if (input == "up")
{
++y;
cout << "current location (" << x << "," << y << ")" << endl;
break;
}
else if (input == "down")
{
--y;
cout << "current location (" << x << "," << y << ")" << endl;
break;
}
else if (input == "right")
{
++x;
cout << "current location (" << x << "," << y << ")" << endl;
break;
}
else if (input == "left")
{
--x;
cout << "current location (" << x << "," << y << ")" << endl;
break;
}
}
cout << "current location (" << x << "," << y << ")" << endl;
cout << "Congratulations! You have reach your destination! :D" << endl;
system("pause");
return(0);
}
Sie sind nicht dazu bestimmt, Break-Anweisungen zu verwenden, es sei denn, Sie möchten aus der umgebenden Schleife ausbrechen. – synchronizer
danke Ich habe versucht, die ganze Pause zu entfernen, aber es ging direkt zu "Glückwunsch! Sie haben Ihr Ziel erreicht", als ich versuchte, es zu laufen, und ich ändere die Bedingung zu (x == 8) && (y == 9) immer noch nicht Verbesserung. – user7524392
Ich schlage vor, Ihren aktualisierten Code hinzuzufügen. – synchronizer