Hallo alle zusammen,
ich bin ein wenig verwirrt und verstehe nicht warum mein Programm tut
was es tut.
Der Code sieht folgendermaßen aus:
#include <iostream>
using namespace std;
int main()
{
int iInput1;
int Zahl = 0;
cout << "Gib den ersten Wert ein: " << endl;
cin >> iInput1;
/*Do Schleife*/
do
{
Zahl++;
cout << "Zaehler: " << Zahl << endl;
cout << "Input Zahl: " << iInput1 << endl;
} while (iInput1 >= Zahl);
return(0);
}
Wenn ich als Wert für iInput1 den Wert 3 Schreibe dann hätte ich
erwartet das meine do while als Wert die Variable bis 3 hoch zählt, aber
diese wird bis 4 gezählt. Somit steht als Ergebnis in der Konsole was
oben als Bild angehangen ist.
Kann mir jemand erklären warum?
Vielen Dank euch allen
Deine do..while-Schleife wertet das Abbruchkriterium erst nach dem Durchlauf der Schleife aus. Ändere das zu
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
und das Abbruchkriterium wird vor dem Schleifendurchlauf überprüft.
Gast
#4848870
... und lern gleich etwas plattformunabhängiges was Zukunft hat (wie z.B. Java oder Python).
Gast
#4848879
Hallo, man könnte die Abbruchbedingung natürlich auch in
1 | |
ändern. Mit besten Grüßen Murmelchen
Gast
#4848889
IAVler schrieb: > ... und lern gleich etwas plattformunabhängiges was Zukunft hat > (wie > z.B. Java oder Python). IAV, das sagt schon alles...
Gast
#4848917
IAVler schrieb: > ... und lern gleich etwas plattformunabhängiges was Zukunft hat > (wie z.B. Java oder Python). C++ läuft auf mehr Plattformen als Java und Python. Solange es Bedarf an effizienter Software gibt wird C++ Zukunft haben.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
