Complete these tasks to reinforce what you learned in this module.
Hier erklärt ein dreizeiliger Kommentar eine Bedingung, die niemand auf Anhieb liest:
``csharp
// Ein Kunde gilt als Premiumkunde, wenn er seit mehr als 2 Jahren dabei ist
// und im letzten Jahr über 5000 umgesetzt hat — oder wenn er unabhängig davon
// einen aktiven Rahmenvertrag besitzt.
if ((k.Jahre > 2 && k.Jahresumsatz > 5000m) || k.HatRahmenvertrag) { … }
Ersetze den Kommentar durch eine Methode IstPremiumkunde(Kunde kunde), deren Name dasselbe sagt. Die Schwellen 2 und 5000 bekommen benannte Konstanten.
Main stuft vier Kunden ein und gibt je {Name}: Premium oder {Name}: Standard` aus.
> 2, nicht >= 2 — David mit genau 2 Jahren und genau 5000 Umsatz fällt deshalb durch. Der Rahmenvertrag steht mit || allein, unabhängig von Jahren und Umsatz.using System;
public sealed class Kunde
{
public Kunde(string name, int jahre, decimal jahresumsatz, bool hatRahmenvertrag)
{
Name = name;
Jahre = jahre;
Jahresumsatz = jahresumsatz;
HatRahmenvertrag = hatRahmenvertrag;
}
public string Name { get; private set; }
public int Jahre { get; private set; }
public decimal Jahresumsatz { get; private set; }
public bool HatRahmenvertrag { get; private set; }
}
public static class Einstufung
{
// TODO: Konstanten für die Schwellen 2 (Jahre) und 5000 (Umsatz)
// TODO: public static bool IstPremiumkunde(Kunde kunde)
// — der Name ersetzt den Kommentar
public static string Stufe(Kunde kunde)
{
// TODO: "Premium" oder "Standard" anhand von IstPremiumkunde
return "";
}
}
class Program
{
static void Main()
{
var kunden = new Kunde[]
{
new Kunde("Anna", 5, 9000m, false),
new Kunde("Bruno", 1, 200m, false),
new Kunde("Carla", 1, 100m, true),
new Kunde("David", 2, 5000m, false),
};
foreach (var kunde in kunden)
Console.WriteLine(kunde.Name + ": " + Einstufung.Stufe(kunde));
}
}