C# Verzweigungsstrukturen (if, else, switch)
Entscheidungsstrukturen in C#: lernen Sie, wie man mit if, else if, else und switch unterschiedliche Aktionen abhängig von Bedingungen ausführt.
In der Programmierung müssen oft unterschiedliche Aktionen abhängig von Bedingungen ausgeführt werden. In C# werden solche Fälle mit Entscheidungsstrukturen behandelt. Die gängigsten sind if, else if, else und switch.
if-Anweisung
Die if-Anweisung wird ausgeführt, wenn die Bedingung true ist.
int zahl = 10;
if (zahl > 5)
{
Console.WriteLine("Die Zahl ist größer als 5.");
}
if - else
Mit else wird ein alternativer Block ausgeführt, wenn die Bedingung false ist.
Console.Write("Geben Sie Ihre Note ein: ");
int note = int.Parse(Console.ReadLine()); // Umwandlung von string zu int
if (note >= 50)
{
Console.WriteLine("Bestanden.");
}
else
{
Console.WriteLine("Nicht bestanden.");
}
if - else if - else
Mit else if lassen sich mehrere Bedingungen nacheinander prüfen.
int note = 75;
if (note >= 90)
{
Console.WriteLine("Note: A");
}
else if (note >= 70)
{
Console.WriteLine("Note: B");
}
else if (note >= 50)
{
Console.WriteLine("Note: C");
}
else
{
Console.WriteLine("Nicht bestanden");
}
switch-Anweisung
Mit switch wird anhand fester Werte verzweigt. Lesbarer als viele else if-Blöcke.
Console.Write("Geben Sie die Tagesnummer ein (1-7): ");
int tag = int.Parse(Console.ReadLine());
switch (tag)
{
case 1: Console.WriteLine("Montag"); break;
case 2: Console.WriteLine("Dienstag"); break;
case 3: Console.WriteLine("Mittwoch"); break;
case 4: Console.WriteLine("Donnerstag"); break;
case 5: Console.WriteLine("Freitag"); break;
case 6: Console.WriteLine("Samstag"); break;
case 7: Console.WriteLine("Sonntag"); break;
default: Console.WriteLine("Ungültiger Tag!"); break;
}
Benutzereingaben mit Entscheidungsstrukturen
Entscheidungsstrukturen werden oft mit Benutzereingaben verwendet.
Console.Write("Geben Sie eine Zahl ein: ");
int zahl = int.Parse(Console.ReadLine());
if (zahl % 2 == 0)
{
Console.WriteLine("Die Zahl ist gerade.");
}
else
{
Console.WriteLine("Die Zahl ist ungerade.");
}
Zusammenfassung
if: führt aus, wenn Bedingung wahr ist.else: führt aus, wenn Bedingung falsch ist.else if: prüft mehrere Bedingungen.switch: verzweigt anhand fester Werte.
Menübeispiel: Verwendung von if, else if, else und switch
In diesem Beispiel wird ein einfaches Konsolenmenü erstellt.
Die Benutzereingabe wird mit der if / else if / else-Struktur geprüft,
und die switch-Anweisung führt die gewählte mathematische Operation aus.
Dadurch wird gezeigt, wie Bedingungs- und Auswahlstrukturen kombiniert werden können.
using System;
class Program
{
static void Main()
{
Console.WriteLine("=== Menü ===");
Console.WriteLine("1 - Addition");
Console.WriteLine("2 - Subtraktion");
Console.WriteLine("3 - Multiplikation");
Console.WriteLine("4 - Division");
Console.WriteLine("0 - Beenden");
Console.Write("Ihre Auswahl: ");
int auswahl = int.Parse(Console.ReadLine()); // Umwandlung von string zu int
if (auswahl == 0)
{
Console.WriteLine("Programm wird beendet...");
}
else if (auswahl >= 1 && auswahl <= 4)
{
Console.Write("Erste Zahl eingeben: ");
double zahl1 = double.Parse(Console.ReadLine());
Console.Write("Zweite Zahl eingeben: ");
double zahl2 = double.Parse(Console.ReadLine());
switch (auswahl)
{
case 1:
Console.WriteLine($"Ergebnis: {zahl1 + zahl2}");
break;
case 2:
Console.WriteLine($"Ergebnis: {zahl1 - zahl2}");
break;
case 3:
Console.WriteLine($"Ergebnis: {zahl1 * zahl2}");
break;
case 4:
if (zahl2 != 0)
Console.WriteLine($"Ergebnis: {zahl1 / zahl2}");
else
Console.WriteLine("Fehler: Division durch Null ist nicht erlaubt!");
break;
}
}
else
{
Console.WriteLine("Ungültige Auswahl.");
}
}
}