Computer-Masters.de > Artikel > Programmieren > C++ > C++ Einsteigerkurs > C++ Einsteigerkurs: Kapitel 7: while-Schleife

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:


Cpp-Script

#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 fr 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 zurckgeben (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:


Cpp-Script

while ( bedingung )
{
//Code der ausgefhrt 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 unten auf dieser Seite zum Download.

 

 

Download der Codedateien aus Kapitel 7

application/zip Kapitel 7 Quellcode (1,7 KiB)

 

Sie haben noch Fragen?

Nutzen Sie einfach die Kommentarfunktion, die Ihnen auch als unregistrierter Leser zur Verfügung steht!

Gerne wird Ihnen bei Fragen zum Artikel weiter geholfen! Wenn Sie vom Artikel abweichende Fragen haben, können Sie gerne das Forum verwenden!

 

Kommentare

Computer-Masters.de > Artikel > Programmieren > C++ > C++ Einsteigerkurs > C++ Einsteigerkurs: Kapitel 7: while-Schleife

Anzeige: