Wie beende ich den Fall '5', wenn ich den Fall '6' aktiviere? Ich kann einfach nicht aus der Schleife aussteigen. Ich habe versucht, eine Pause zu machen; im Fall '6', aber das schien nicht zu funktionieren.Wie man eine while-Schleife mit dem Schalter C++ beendet
case '5': //receive a '5' from serial com port and execute auto docking
while(1)
{
north =0;
south=0;
east=0;
west=0;
scanmovement();
for(index=0;index<7;index++)
{
getdirection(index);
}
arlomove();
obstacleavoidance();
}
break;
case '6': //receive '6' from serial com port and stop auto docking
//somethingsomething
//break out of while loop in case '5' when this is activated
break;
Bearbeiten Sie Ihren Code, um einen Grund zum Beenden der while-Schleife anzuzeigen, vorzugsweise eine 'if'-Anweisung. – Spencer
Also, um klar zu sein, ist dies multithreaded oder reentrant auf andere Weise (z. B. durch einen Signal-Handler, oder eine der im Fall '5': 'loop) genannten Methoden? Andernfalls erreichen Sie nie 'case' 6 ': 'um die Schleife zu beenden. – ShadowRanger
Ich habe den Code bearbeitet – Marvinatorrr