Aufgabe 1 – Einfache Auswahl
Schreibe ein Programm, das eine Ganzzahl zwischen 1 und 3 enthält und je nach Wert einen passenden Text ausgibt:
- 1 → „Eins“
- 2 → „Zwei“
- 3 → „Drei“
- sonst → „Unbekannt“
Musterlösung: Einfache Auswahl
#include <stdio.h>
int main(void) {
int zahl = 2;
switch (zahl) {
case 1:
printf("Eins\n");
break;
case 2:
printf("Zwei\n");
break;
case 3:
printf("Drei\n");
break;
default:
printf("Unbekannt\n");
}
return 0;
}
Aufgabe 2 – Zeichen auswerten
Ein char enthält einen Buchstaben.
Gib aus, ob es sich um:
a→ „Anfang“z→ „Ende“- sonst → „Anderer Buchstabe“
Musterlösung: Zeichen auswerten
#include <stdio.h>
int main(void) {
char zeichen = 'a';
switch (zeichen) {
case 'a':
printf("Anfang\n");
break;
case 'z':
printf("Ende\n");
break;
default:
printf("Anderer Buchstabe\n");
}
return 0;
}
Aufgabe 3 – Mehrere Fälle zusammenfassen
Eine Variable enthält eine Schulnote (1–6).
Gib aus:
- 1 oder 2 → „Sehr gut / Gut“
- 3 oder 4 → „Befriedigend / Ausreichend“
- 5 oder 6 → „Nicht bestanden“
- sonst → „Ungueltige Note“
Musterlösung: Mehrere Fälle zusammenfassen
#include <stdio.h>
int main(void) {
int note = 4;
switch (note) {
case 1:
case 2:
printf("Sehr gut / Gut\n");
break;
case 3:
case 4:
printf("Befriedigend / Ausreichend\n");
break;
case 5:
case 6:
printf("Nicht bestanden\n");
break;
default:
printf("Ungueltige Note\n");
}
return 0;
}
Aufgabe 4 – Einfache Menüauswahl
Ein Programm soll eine Menüauswahl simulieren:
- 1 → „Neues Spiel starten“
- 2 → „Spiel laden“
- 3 → „Einstellungen“
- 0 → „Programm beenden“
- sonst → „Ungueltige Auswahl“
Musterlösung: Einfache Menüauswahl
#include <stdio.h>
int main(void) {
int auswahl = 3;
switch (auswahl) {
case 1:
printf("Neues Spiel starten\n");
break;
case 2:
printf("Spiel laden\n");
break;
case 3:
printf("Einstellungen\n");
break;
case 0:
printf("Programm beenden\n");
break;
default:
printf("Ungueltige Auswahl\n");
}
return 0;
}
Aufgabe 5 – Kombination mit Berechnung
Zwei Zahlen und ein Rechenoperator (+, -, *, /) sind gegeben.
Führe abhängig vom Operator die passende Berechnung aus und gib das Ergebnis aus.
Bei einem unbekannten Operator soll eine Fehlermeldung erscheinen.
Musterlösung: Kombination mit Berechnung
#include <stdio.h>
int main(void) {
int a = 10;
int b = 5;
char op = '*';
switch (op) {
case '+':
printf("Ergebnis: %d\n", a + b);
break;
case '-':
printf("Ergebnis: %d\n", a - b);
break;
case '*':
printf("Ergebnis: %d\n", a * b);
break;
case '/':
printf("Ergebnis: %d\n", a / b);
break;
default:
printf("Unbekannter Operator\n");
}
return 0;
}
Aufgabe 6 – Monatsnummer in Anzahl der Tage umwandeln
Eine Ganzzahl enthält die Monatsnummer (1–12).
Gib aus, wie viele Tage der Monat hat.
Für Februar soll keine Schaltjahrprüfung erfolgen (immer 28 Tage).
Bei ungültigen Werten soll eine Fehlermeldung erscheinen.
Musterlösung: Monatsnummer in Anzahl der Tage umwandeln
#include <stdio.h>
int main(void) {
int monat = 11;
switch (monat) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31 Tage\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("30 Tage\n");
break;
case 2:
printf("28 Tage\n");
break;
default:
printf("Ungueltiger Monat\n");
}
return 0;
}
Aufgabe 7 – Menü mit wiederholter Auswahl
Ein Programm soll eine Menüauswahl in einer Schleife simulieren.
Je nach Auswahl wird ein Text ausgegeben.
Bei Auswahl 0 wird das Programm beendet.
Erläuterung:
Diese Aufgabe zeigt das Zusammenspiel von switch und Schleifen – sehr häufig in realen Programmen.
Musterlösung: Menü mit wiederholter Auswahl
#include <stdio.h>
int main(void) {
int auswahl;
do {
printf("1 = Info\n");
printf("2 = Hilfe\n");
printf("0 = Beenden\n");
auswahl = 1; // Beispielwert
switch (auswahl) {
case 1:
printf("Informationen anzeigen\n");
break;
case 2:
printf("Hilfe anzeigen\n");
break;
case 0:
printf("Programm beendet\n");
break;
default:
printf("Ungueltige Auswahl\n");
}
} while (auswahl != 0);
return 0;
}
Aufgabe 8 – Zustandslogik mit switch
Aufgabe:
Eine Variable beschreibt den Zustand eines Geräts:
- 0 → „Aus“
- 1 → „Bereit“
- 2 → „Laeuft“
- 3 → „Fehler“
Gib abhängig vom Zustand eine passende Meldung aus.
Unbekannte Zustände sollen erkannt werden.
Erläuterung:
Dieses Muster wird häufig in Embedded-Systemen, Automatensteuerungen und Zustandsmaschinen verwendet.
Musterlösung: Zustandslogik mit switch
#include <stdio.h>
int main(void) {
int status = 2;
switch (status) {
case 0:
printf("Geraet ist ausgeschaltet\n");
break;
case 1:
printf("Geraet ist bereit\n");
break;
case 2:
printf("Geraet laeuft\n");
break;
case 3:
printf("Fehlerzustand\n");
break;
default:
printf("Unbekannter Status\n");
}
return 0;
}