cin in schleife
-
Hallo,
int main() { int i = 0; do { cout << "Eingabe?"; cin >> i; } while (i != 0); return 0; }
Frage: Warum wird cin ignoriert, wenn man schon ein int eigegeben hat und danach einen/mehrere buchstabe(n) eintippt, da entsteht eine endlosschleife, warum und wie kann ich das verhindern?
-
cin wird nicht ignoriert. cin blockiert solange, bis du etwas eingegebn hast. Deine Schleife soll so lange laufen, wie i ungleich 0 ist. Wenn du also nicht das Zeichen für den Wert 0 eingibts, muss deine Schleife endlos laufen.
-
dust schrieb:
cout << "Eingabe?";
cin >> i;ein string als shift-counter geht schon mal nicht. ausserdem fehlen da noch zuweisungen, sonst passiert rein gar nichts. wo sind die variablen überhaupt definiert?
-
Dein endloses Durchlaufen (er wiederholt dann "Eingabe" ständig, richtig?) kannst du verhindern, indem du den Eingabepuffer leerst (=>SuFu).