Kontrollstrukturen: Schleifen und Entscheidungen

Schleifen

Fast alle Schleifen sind zu dem einen Zweck geschrieben, um einen Teil des Programms mindestens zweimal auszuführen (also zu wiederholen).

Um Schleifen richtig zu verstehen, darf man sich folgende Videos ansehen:


while

Die While-Schleife ist hier:

//fibo.cpp

//nach Lafore S. 142

#include <iostream>

using namespace std;

 

int main()

{

const unsigned long loi = 2971999990;

unsigned long next = 0;

unsigned long last = 1;

while ( next < loi/2 )

{//while

 cout << last << " ";

 long summe = next+last;

 next = last;

 last = summe;

}//while

cin.get();

return 0;

}


Entscheidungen (und Schleifen)

Bedingungen ist hier dasselbe wie Entscheidungen. Hierunter fällt if, der Bedingungsoperator und if-else.

Ein einfaches Programm:

//if.cpp
#include <iostream>//cin, cout

using namespace std;

int main()
{
    int zahl;
    cout << "Gib eine Zahl ohne Punkt und Komma ein, bitte: ";
    cin >> zahl;
    if (zahl>100)
      cout << "Diese Zahl ist groesser als 100." << endl;
    system("pause");
    return 0; 
}//Ende von main()


Ein Programm-Beispiel mit einem if-else-if-Element kommt hier:

//rateneu2.cpp
#include <iostream>//cin, cout
#include <conio.h>//getch
#include <cstdlib>//Zufall
#include <ctime>//Zufall

using namespace std;

int main()
{
    srand(time(NULL));
    int geheim=rand()%1000+1;
    int rateZahl;
    bool weiter = true;
   
    for (int anzahlVersuche=1; weiter; anzahlVersuche++)//boolscher Pruefausdruck: weiter

         // == true;
    {
        //do-while-Schleife:
        do
        {
            cout << " Wie lautet die Zahl (1 - 1000)? ";
            cin >> rateZahl;
        } while (rateZahl<1 || rateZahl>1000);
        if (geheim == rateZahl)
         {
             cout << "Gewonnen!!!!!";
             cout << endl << "Sie haben " << anzahlVersuche << " Versuche gebraucht.";
             weiter = false;
         }//if
        else if (geheim < rateZahl)
           cout << " Bitte kleiner machen!";
        else
           cout << " Bitte groesser machen!";   
    }//for anzahlVersuche
    getch();
    return 0;
}//main()