Home
Navigation
Impressum
Coder Welten - Programmierung und Optimierung
Coder Welten
 
 

 

 

Switch-Case in C/C++, PHP und JavaScript

Fallunterscheidungen zur Programmsteuerung II

Übersicht / Seite:

  1. if-Statements (mit Beispielen in C, C++, PHP und JavaScript)
  2. Switch-Case (Fallunterscheidungen mit Beispielen in C und JavaScript)

Switch-Case Anweisungen

Der Ablauf eines Programms lässt sich nicht nur durch if-Statements steuern, sondern ebenfalls mit Switch-Case Anweisungen. Immer dann, wenn es sich darum handelt, einen Eingangswert richtig einzuordnen und diesen Eingangswert gegen viele Bedingungen zu prüfen, könnten Switch-Case Fallunterscheidungen mehr als nur eine Alternative sein.

Switch-Case Anweisungen liefern vom Prinzip dasselbe Ergebnis wie if-Statements, nur das es keiner Vielzahl von aufeinander folgenden else if Anweisungen bedarf, wenn es darum geht, möglichst viele Fälle zu unterscheiden. Der an eine Switch Anweisung übergebene Wert wird Case für Case (Fall für Fall) mit den Case-Werten verglichen und nur wenn ein Vergleich eine Übereinstimmung ergab, wird der im jeweiligen Case-Zweig notierte Code ausgeführt.
Die Ausführung des Codes wird erst durch eine break-Anweisung beendet. Wurde das Schlüsselwort break nicht als Anweisung zum Abbruch nach einem Case-Zweig notiert, so wird die Ausführung mit dem im nächsten Case-Zweig notierten Code fortgesetzt und erst beendet, wenn eine break-Anweisung gefunden wird.

Den Abschluss kann eine default-Anweisung bilden, die immer dann ausgeführt wird, wenn in den vorausgehenden Zweigen keine Übereinstimmung mit dem Switch-Eingangswert gefunden wurde. Eine default-Anweisung entspricht somit im Ergebnis etwa dem Else-Zweig eines if-Statements.

Ein Beispiel für Switch-Case in C:

#include <stdio.h>
#include <conio.h>

int main() {

    int eingabe;

    printf("Beliebte weibliche Vornamen.\r\n\r\n");
    printf("Eine Zahl zwischen 1 und 7 eingeben: ");
    scanf("%d", &eingabe);
    printf("\r\n");

    switch(eingabe) {
        case 1:
            printf("Platz 1: Anna");
            break;
        case 2:
            printf("Platz 2: Ida");
            break;
        case 3:
            printf("Platz 3: Emma");
            break;
        case 4:
            printf("Platz 4: Sofia");
            break;
        case 5:
            printf("Platz 5: Maria");
            break;
        case 6:
            printf("Platz 6: Veronica");
            break;
        case 7:
            printf("Platz 7: Ute");
            break;
        default:
            printf("Die Eingabe konnte nicht ausgwertet werden.");
            break;
    }
    getch();
    return 0;
}

Ein Beispiel für Switch-Case in JavaScript:

<script type="text/javascript">
"use strict";

function beliebte_Vornamen_vor_1900() {

    var umbruch = "\r\n\r\n";
    var einsatz = "Beliebte männliche Vornamen." + umbruch;
    var eingabe = prompt("Eine Zahl zwischen 1 und 7 eingeben: ","");

    if (eingabe.length < 2) {
        eingabe = eingabe.replace(/[^0-9]/, "");

        if (typeof(eingabe) != "number") {
            eingabe = parseInt(eingabe);
        }
    }
    else {
        eingabe = false;
    }

    switch(eingabe) {
        case 1:
            alert(einsatz + "Platz 1: Hans" + umbruch);
            break;
        case 2:
            alert(einsatz + "Platz 2: Otto" + umbruch);
            break;
        case 3:
            alert(einsatz + "Platz 3: Paul" + umbruch);
            break;
        case 4:
            alert(einsatz + "Platz 4: Fritz" + umbruch);
            break;
        case 5:
            alert(einsatz + "Platz 5: Gustav" + umbruch);
            break;
        case 6:
            alert(einsatz + "Platz 6: Heinrich" + umbruch);
            break;
        case 7:
            alert(einsatz + "Platz 7: Hermann" + umbruch);
            break;
        default:
            alert(einsatz +
                  "Die Eingabe konnte nicht ausgwertet werden.");
            break;
    }
}
</script>


zurück zu: Fallunterscheidungen » if-Statements

 

Copyright © Verlag Horst Müller - Stendal - 2006 - Impressum - Datenschutz - Nutzungsbedingungen