for Schleife
-
Morgen ich hab ein Problem mit diesem Zähler.
Ist es möglich das wenn der counter bei 0 ist
das die zweite letzde Zeile ausgeführt wird?
Also die Zeile
cout<<"Counter ende\n";Ich weiss halt nicht wie ich aus der Schleife raus kommen kann außer mit goto aber das soll man ja möglichst vermeiden ....
#include <windows> #include <iostream> using namespace std; int main() { for (int i=10 ; i<11 ;i--) { Sleep(100); cout<<i<<"\n"; if (i==0) { } } cout<<"Counter ende\n"; return 0; }
-
Du kannst die jeweils innerste Schleife mit
break;verlassen. In deinem Fall ist das aber gar nicht nötig, denn deine Schleifenbedingung ist Mist. Wenn i bei 10 anfängt und in jedem Schritt kleiner wird, dann ist die Schleifenbedingung i<11, die also zur Abbruchbedingung i>=11 führt, nicht sinnvoll, weil sie zu einer Endlosschleife führt. Mach doch einfach als Schleifenbedingung i>=0.
Felix
-
schleife schrieb:
Ist es möglich das wenn der counter bei 0 ist
das die zweite letzde Zeile ausgeführt wird?
Warum änderst du die Schleifenbedingung nicht einfach so ab, dass das automatisch passiert (i>0)? Deine jetzige Schleifenbedingung ist komplett sinnlos.
-
for ( int i = 10; i >= 0; --i ) { std::cout << i << std::endl; } std::cout << "Counter Ende" << std::endl;
-
Danke das mit dem break; funktioniert Perfekt.
Ich weiss das die Schleife sinnlos war aber es ging halt nur darum wie man die verlässt. ^^
-
schleife schrieb:
Danke das mit dem break; funktioniert Perfekt.
Mist, hätte ich das mal nicht gepostet... In deinem Fall ist es wesentlich sinnvoller, die Schleifenbedingung zu ändern. Es sei denn, du wolltest nur wissen, wie man das macht, es aber nicht in diesem Fall anwenden.
Felix