Ich versuche, ein einfaches Spiel zu schaffen, wo der Benutzer durch ein Labyrinth gehen muss. Zu Beginn des Labyrinths gebe ich dem Benutzer mögliche Routen und frage den Benutzer, welche Route er als nächstes nehmen soll. Wenn der Benutzer eine korrekte Route eingibt, bringe ich ihn zur nächsten Route. Wenn der Benutzer eine falsche Route eingibt, drucke ich eine Fehlermeldung, gefolgt von der Eingabeaufforderung, und lese seine Eingabe erneut.zurück zum Anfang einer if-Anweisung in einer Schleife
Ich habe Probleme herauszufinden, was ich tun soll, nachdem ich die Fehlermeldung ausgedruckt habe. Wie gehe ich zurück zum Anfang der Schleife? Ich habe etwas geforscht und fange an zu denken, dass ich stattdessen eine Do-while-Schleife verwenden sollte, aber angesichts der Iterationen dazwischen (diesen Schritt wiederholend, bis der Benutzer den Ausgang des Labyrinths findet), habe ich Mühe, genau herauszufinden, wie es geht Das.
Hier meine ursprüngliche if-else-Anweisung lautet:
printf("Prompt for user input\n"); //step1
//user input
scanf("%s", &input); //step2
//check input
for (i = 0; i < 7; i++) {
if (strncmp(input, condition) == 0){//do something}
else{
printf("error\n");
//need to do steps 1 and 2 again
}
Sie sich die Zeit danken, wäre jede Hilfe sehr dankbar!
Put Schritte 1 und 2 in der Schleife? – lurker
'continue' überspringt den Rest einer 'for'-Schleife und kehrt im Wesentlichen zur ersten Anweisung zurück (wenn die Endebedingung nicht wahr ist). Bei verschachtelten Schleifen nur die aktuelle Schleife, nicht die äußere Schleife. –
Wiederholen Sie die Schritte 1 und 2 in der Schleife: Ich habe bereits versucht, dass beim Drucken der Fehlermeldung das Programm nicht zu den Schritten 1 und 2 zurückgeht. –