Verzweigung

If-Verzweigung

Wenn eine Bedingung erfüllt ist, wird der folgende Code oder Code-Block ausgeführt

#include <iostream>
using namespace std;

int main(int argc, char **argv)
{
	int i = 12;
	if (i>10)
	{
		cout << i << endl;
	}
	return 0;
}

nach oben

If-Else-Verzweigung

Wird hinter dem Code bzw Codeblock der IF-Bedingung eine Else-Zweig eingefügt, so wird dieser Code / Codeblock nur ausgeführt, wenn die IF-Bedingung falsch ist.

#include <iostream>
using namespace std;

int main(int argc, char **argv)
{
	int i = 2;
	if (i>10)
	{
		cout << i << endl;
	}
	else
	{
		cout << "nicht größer als 10" << endl;
	}
	return 0;
}

nach oben

If-Else if-Verzweigung

Wird hinter dem Code bzw Codeblock der IF-Bedingung eine Else if-Zweig eingefügt, so wird dieser Code / Codeblock nur ausgeführt, wenn die IF-Bedingung falsch aber die else if-Bedingung wahr ist. auch dieser kann wieder ein Else-zweig angehängt werden:

#include <iostream>
using namespace std;

int main(int argc, char **argv)
{
	int i = 2;
	if (i>10)
	{
		cout << i << endl;
	}
	else if(i=5)
	{
		cout << "5 ist gut" << endl;
	}
	else
	{
		cout << "nicht größer als 10" << endl;
	}
	return 0;
}

nach oben

Fragezeichenoperator

Syntax: Bedingung ? Wert_bei_true : Wert_bei_false

Beispiel:

char Vorzeichen = Wert < 0 ? '-' : '+';

nach oben

Switch-Verzweigung

Mit der switch-Anweisung ist es möglich auf eine Vielzahl unterschiedlicher Werte zu prüfen und zu reagieren. Dies ist dabei gleichwertig aber etwas komfortabler als die if-else if-Anweisung:

#include <iostream>
using namespace std;

int main()
{
   int a;
   cout << "Bitte eine Zahl von 1-5 eingeben: ";
   cin >> a;

   switch(a)
      {
         case 1: cout << "Das war eins \n";
                 break;
         case 2: cout << "Das war zwei \n";
                 break;
         case 3: cout << "Das war drei \n";
                 break;
         case 4: cout << "Das war vier \n";
                 break;
         case 5: cout << "Das war fünf \n";
                 break;
         default: cout << "Keine gültige Eingabe \n";
      }      /*Ende switch*/
   return 0;
}

nach oben

Abbrüche

Es gibt vier Möglichkeiten, eine Ablaufstruktur, wie etwa Schleifen, Funktionen, Bedingungen oder gar das Programm, unmittelbar zu verlassen. Über sie kann aber nicht in eine bestimmte Anweisung verzweigt werden, sondern lediglich zur nächsten Ablaufstruktur.

continue
damit beenden Sie bei Schleifen nur den aktuellen Schleifendurchlauf.
break
beendet die Schleife oder eine Fallunterscheidung. Befindet sich break in mehreren geschachtelten Schleifen, wird nur die innerste verlassen.
exit
beendet das komplette Programm
return
beendet die Iteration und die Funktion, in der return aufgerufen wird. Im Fall der main()-Funktion würde dies das Ende des Programms bedeuten.

nach oben

Goto

Zu den Dingen, die die Welt nicht braucht gehört die Goto-Anweisung. Hierzu braucht man für einen Sprung zu einem anderen Programmteil innerhalb der selben Funktion ohne Rücksprungmöglichkeit einfach nur an der gewünschten Stelle im Programm eine Marke definieren. Dies erreicht man in dem man einen beliebigen Namen gefolgt von Doppelpunkt an der Stelle vergibt und dann den Namen der Sprungstelle hinter goto angibt:

goto LABEL;
LABEL : Anweisung;

nach oben