C++ Einsteigerkurs: Kapitel 7: while-Schleife
Bisher waren die Programme, die Sie geschrieben haben bzw. die in diesem Kurs vorkamen immer recht kurz und konnten nur einmal durchlaufen werden.
Besonders ärgerlich war es, wenn man z.B. im letzen Kapitel eine falsche Variable bei der Auswahl eingegeben hat und man das Programm neu starten musste um es diesmal richtig zu machen.
Eine Lösung des Problems wäre eine while-Schleife, die den eingegebenen Wert überprüft und bei z.B. variable>4 nocheinmal durchlaufen wird.
Im folgenden Besipiel eine ganz einfache while Schleife:

#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <cstdlib>
using namespace std;
// Die Main-Funktion wir als int definiert.
int main()
{
int i; //Die Variable für die Schleife
//Informationstext zum Programm.
cout <<"Kapitel 7: while-Schleife\n"
"geben Sie ein, wie oft die while-Schleife durchlaufen werden soll:\n";
cin>>i;
while ( i>0 )
{
cout <<"Schleife wird noch "<<i<<" mal durchlaufen..."<<endl;
i=i-1;
}
cout<<"Fertig!"<<endl;
//Das Programm wird bis Tastendruck angehalten.
system("Pause");
//Die Main-Funktion vom Typ Int muss einen Wert zurückgeben (in diesem Fall 0)
return 0;
}
1
while ( i>0 )
while ( i>0 ) ist der Kopf der while-Schleife. Ein while-Schleife wird im allgemeinen so gebraucht:

while ( bedingung )
{
//Code der ausgeführt werden soll
}
1
Im oberen Beispiel programm wird bei jedem durchlauf die Variable, die auf die Bedingung geprüft wird geändert. Das heißt der Code wird nur so oft ausgeführt, bis der Wert der Variable nicht mehr in die Bedingung passt.
i=i-1; Zuweisung
Eine weitere neue Zeile in diesem Beispielprogramm, die beim aufmerksamen Leser für Verwirrung sorgen könnte ist die Zuweisung:
i=i-1;
Das ist doch mathematisch nicht möglich was da steht?!
Könnte man meinen, doch das '=' ist in diesem Fall kein Gleichheitszeichen sondern eine Zuweisung.
Die Zeile sagt also:
Aufgepasst Variable i, du bist jetzt du selber minus 1.
Beispielsweise gibt der Nutzer für die Anzahl der Durchläufe 50 ein, dann wird beim ersten Durchlauf der while-Schleife i um 1 erniedrigt.
50 -> 49
Im zweiten Durchlauf:
49 -> 48
48 -> 47
...
2 -> 1
1 -> 0
Bei i=0 trifft die Bedingung der while-Schleife (i>0) nicht mehr zu und sie wird deshalb nicht mehr durchlaufen, sondern der Code nach der while Schleife wird ausgeführt.
Aufgabe zu Kapitel 7
Verbessern Sie das das Programm aus der Aufgabe zum Kapitel 6 so, dass es beliebig oft durchlaufen werden kann, der Nutzer also nach jeder Rechenoperation eine weitere ausführen kann.
Der Nutzer soll aber nach jeder ausgeführten Rechenoperation gefragt werden, ob er noch eine ausführen möchte, oder das Programm beenden möchte.
Hinweis:
Verwenden Sie am besten einen Integer als Variable dessen Bedingung geprüft werden soll und ändern Sie den Wert dieser Variable nur, wenn Sie die while-Schleife beenden wollen.
Einen Lösungsvorschlag dieser Aufgabe finden Sie links oben auf dieser Seite zum Download.
Noch Fragen zum Kurs? Wenden Sie sich an
das Forum
Fehler im Text oder in Programmen? Schreiben Sie bitte eine E-Mail an den
Webmaster.
Download des Quellcodes fehlerhaft? Schreiben Sie bitte eine E-Mail an den
Webmaster.
C++ Tutorial, C++ lernen, Programmieren lernen, Programmieren anfangen, Programmiersprache, C++ Kurs, Compiler, Programmierer, Anfängerkurs, Einsteigertutorial, C++, C plus plus
Sie befinden Sich hier: Tutorials >> C++ Codeschnipsel >> C++ Einsteigerkurs: Kapitel 7: while-Schleife