switch-case in C++

Ein Kollege von if ist der Befehl bzw. das Konstrukt switch-case. Mit diesem Befehl können Sie sich viele if-Abfragen sparen, wenn es mehr als 2 Möglichkeiten gibt.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
	char eingabe;
	
	// Eingabe der Richtung
	cout << "Bitte geben Sie eine Richtung vor: " << endl;
	cin >> eingabe;
	
	// Auswertung
	switch ( eingabe )
	{
		case 'n':
		cout << "Norden\n";
		break;
		case 'o':
		cout << "Osten\n";
		break;
		case 's':
		cout << "Sueden\n";
		break;
		case 'w':
		cout << "Westen\n";
		break;
		default:
		cout << "Die Eingabe ist ungueltig!\n";
	}
	
	system("PAUSE");
	return EXIT_SUCCESS;
}

 

Durch den Befehl char definieren wir eine Eingabe von einem einzigen Buchstaben bzw. einem einzigen Zeichen.

Die verschiedenen Fälle werden durch case ausgedrückt.

Nach jedem case fügen wir nach der Ausgabe von cout ein break ein.

Sie sehen dass diese Möglichkeit viel übersichtlicher ist als die ganzen if-Befehle.

Bei Zahlen müssten wir anstelle von char den Befehl int (Integer) eingeben.

Wichtig: Verwenden wir Zahlen muss nach case die Zahl ohne Anführungszeichen geschrieben werden.

 

Wenn keiner der Buchstaben den man eingibt auf unsere Abfragefunktion zutrifft, dann müssen wir den Befehl default einbauen um eine „Fehlerausgabe“ zu starten. In unserem Fall ist dies:

           default:
           cout << "Die Eingabe ist ungueltig!\n";