Alternative für break oder continue?



  • Hallo.

    Ich habe ein Problem. Bei einem Programm verwende ich ein break, um die Scheife zu beenden. Aber wie kann ich das so einrichten, dass danach noch eine äußere Schleife abgearbeitet wird?



  • goto :xmas2:



  • JochenG schrieb:

    Hallo.

    Ich habe ein Problem. Bei einem Programm verwende ich ein break, um die Scheife zu beenden. Aber wie kann ich das so einrichten, dass danach noch eine äußere Schleife abgearbeitet wird?

    Wird sie doch.
    Kannste ein kleines Beispiel schreiben, das das Problem darlegt?



  • Falls du meinst du hast eine Schleife in einer Schleife un du möchtest nur dass die Schleife in der Schleife aufhört nicht aber die übere Schleife dann mache einfach die bedinung der Schleife zu 0:

    while(a < 10) {
        while(b < 10) {
            if(etwas = das) b = 10; //break;
            //mach was
        }
        //mach was
    }
    


  • do
    	{
    
    	for(i=0;i<9;i++)
    	{
    		if(x<= y&& y<z)
    		{
    			y=i;
    			continue; 
    		}
    	}
    
    	} while(lauf[0] == 'j');
    }
    

    hier der Code extrem gekürzt. Ganz außen ist eine do while Schleife. Die Fragt am ende am, soll es noch mal laufen?
    Wenn ich aber das breake oder continue einfüge, dann zeigt der zwar den text an, aber fragt nichtmal nach der eingabe und das programm ist beendet.



  • Hi,

    Wenn ich aber das breake oder continue einfüge, dann zeigt der zwar den text an, aber fragt nichtmal nach der eingabe und das programm ist beendet.

    scheint das klassische Pufferleerungsproblem zu sein: Falls du irgendwo im Programm scanf augerufen hast und danach nen char einlesen willst, wird das sich noch im Puffer befindende '\n' quasi von allein eingelesen und die Eingabe rauscht durch.
    Probier mal die Zeile nach einem scanf aufruf, vor dem Einlesen des chars:
    while ((c = getchar()) != '\n' && c != EOF ){/*Warten, bis Puffer leer.*/}



  • WOW! Es geht! Super!


Anmelden zum Antworten