funktion per schleife unendlich wiederholen
-
int i = 6; cout<<"Hallo.... dies ist der Rechner von Dominik Schidlowski\n\n"<<endl; while(i == 5) { i = i + 1; menu(); if(menupunkt == 1) {rechnen();} };damit will ich, dass das alles durchlaufen wird und dann wieder zu menu() gesprungen wird.
aber statt dies zu machen öffnet und schließt sich das programm seeehr schnell.
-
Beachte die Schleifenbedingung.

-
? also des soll ja durchlaufen werden bis i 5 ist aber von 6 fängt es an hochzuzählen also wird des nie 5 oder?
-
oke hab nochmal gegoogelt und gefunden dass es so geht.
int i, x = 55;
for(i = 100; i > -x; i--)
kann mir einer sagen wiso?
-
bammes schrieb:
? also des soll ja durchlaufen werden bis i 5 ist aber von 6 fängt es an hochzuzählen also wird des nie 5 oder?
while(i == 5)
heißt aber: Solange i den Wert 5 hat.
Den hat es in Deinem Codeschnipsel aber schon zu Beginn gar nicht, weil i mit 6 initialisiert wird.
Möglich wäre:
int i = 0;
while(i != 5) //solange i ungleich 5 istoder, normalerweise besser:
int i = 0;
while(i < 5) //solange i kleiner als 5 istWenn die Schleife tatsächlich unendlich laufen soll, genügt:
while(1)
-
Belli schrieb:
Möglich wäre:
int i = 0;
while(i != 5) //solange i ungleich 5 istoder, normalerweise besser:
int i = 0;
while(i < 5) //solange i kleiner als 5 istEher nicht. Der Zug geht in Richtung != statt <.
Belli schrieb:
Wenn die Schleife tatsächlich unendlich laufen soll, genügt:
while(1)Oder in C++ üblicher
for(;;)
-
oke thx ich nehme das mit for(;;) find ich einfacher zu merken ^:-)

-
Ich schreibe es einfach mal in diesen Theard...
Kleines Problem mit while-Schlaufen. Wenn ich bei cin etwas eingebe, führt es pro Wort das cout aus. Es soll aber pro Eingabe genau Einmal cout ausführen.
while (i > 1) { cin >> txt; cout << ueberpruef() << endl; i=i+1; };Danke im voraus

-
das liegt daran, dass der operator<< beim ersten whitespace-zeichen(leerzeichen, tab, zeilenumbruch) aufhört zu lesen.
üblicherweise nutzt man für so etwasstd::getline:#include <iostream> #include <string> int main() { for( ; ; ) { std::string input; std::getline(std::cin, input); std::cout << input << std::endl; } }bb