if / else Verzweigung in C#

Die if / else Verzweigung fragt eine Bedingung ab und prüft sie auf true oder false.

 

Syntax:

 

if (Bedingung)
{
  WAHR-ZWEIG
}
else
{
  SONST-ZWEIG
}

 

Beispiel:

Wir schreiben ein Programm, welches bei Eingabe von zwei Zahlen prüft, welche Zahl größer ist.

int zahl1, zahl2;

Console.WriteLine("Geben Sie die erste Zahl ein!");

zahl1 = Convert.ToInt16(Console.ReadLine());

Console.WriteLine("Geben Sie die zweite Zahl ein!");

zahl2 = Convert.ToInt16(Console.ReadLine());

if (zahl1 > zahl2)
{
    Console.WriteLine("Die erste Zahl ist größer!");
}
else
{
    Console.WriteLine("Die zweite Zahl ist größer!");
}
Console.ReadLine();

 

Was geschieht, wenn beide Zahlen gleich groß sind?
Es wird der else-Zweig ausgegeben. Um dies zu verhindern, müssen wir eine zusätzliche if-Abfrage durchführen.

int zahl1, zahl2;

Console.WriteLine("Geben Sie die erste Zahl ein!");

zahl1 = Convert.ToInt16(Console.ReadLine());

Console.WriteLine("Geben Sie die zweite Zahl ein!");

zahl2 = Convert.ToInt16(Console.ReadLine());

if (zahl1 > zahl2)
{
    Console.WriteLine("Die erste Zahl ist größer!");
}

if (zahl1 == zahl2)  
// == (Vergleichsoperator für "ist gleich")
{
    Console.WriteLine("Beide Zahlen sind gleich groß!");
}
else
{
    Console.WriteLine("Die zweite Zahl ist größer!");
}
Console.ReadLine();

 


Vergleichsoperatoren

 

  • <  kleiner als
  • >  größer als
  • <=  kleiner gleich
  • >=  größer gleich
  • ==  ist gleich
  • !=  ungleich

 

Wir schreiben ein Programm, welches prüft, ob Testergebnisse positiv oder negativ sind.

Bedingungen: 1. Test über 16 Punkte UND 2. Test über 16 Punkte -> positiv. Sobald ein Test <16 Punkte -> negativ.

int punkte1, punkte2;

Console.WriteLine(„Wieviele Punkte haben Sie beim 1. Test?“);
punkte1 = Convert.ToInt16(Console.ReadLine());

Console.WriteLine(„Wieviele Punkte haben Sie beim 2. Test?“);
punkte2 = Convert.ToInt16(Console.ReadLine());

if (punkte1 > 16 && punkte 2 > 16)
{
  Console.WriteLine(„Super: Positiv““);
}
else
{
  Console.WriteLine(„Leider Negative!““);
}
Console.ReadLine();

 


Gesucht ist ein Programm, welches einen Einkaufsrabatt abhängig von der gekauften Stückzahl (Stückzahl > 400 ->20% Rabatt, Stückzahl 100 bis 400 ->10% Rabatt, Stückzahl <100 ->kein Rabatt) berechnet.

int stueck, rabatt = 0;  // weist der Variablen rabatt einen Anfangswert von 0 zu
double gesamt;
const int preis = 15;  // weist der Variablen preis einen konstanten Wert von 15 zu

Console.WriteLine(„Eine Karte kostet EUR 15,-„);
Console.WriteLine(„Wieviele Karten kaufen Sie?“);
stueck = Convert.ToInt16(Console.ReadLine());

if (stueck > 400)
{
  gesamt = stueck * preis * 0.8;
  rabatt = 20;
  }
  else if (stueck > 100)
  {
    gesamt = stueck * preis * 0.9;
    rabatt = 10;
  }
  else
  {
    gesamt = stueck * preis;
  }

Console.WriteLine(„Sie bekommen {0} % Rabatt!“+“Der Gesamtbetrag ist: {1} Euro“, rabatt, gesamt);
Console.ReadLine();