Aufgabe 1: Klasse Temperatur
Erstelle eine C#-Klasse Temperatur zur Darstellung einer Temperatur.
Vorgaben:
- Verwende Datenkapselung mit einer privaten Variable (z. B.
celsiusalsdouble). - Erstelle Konstruktoren:
- Parameterlos: setzt Temperatur auf 0°C
- 1-parametrig (
double celsius) - Nutze Konstruktorverkettung sinnvoll.
- Erstelle Getter/Setter:
- Setter soll prüfen: Temperatur darf nicht kleiner als -273.15°C sein (sonst
Exception).
- Setter soll prüfen: Temperatur darf nicht kleiner als -273.15°C sein (sonst
- Erstelle Methoden:
double ToFahrenheit()(Umrechnung)void Add(double delta)(Temperatur erhöhen/verringern)ToString(): Ausgabe in der FormXX.X °C
- Hauptprogramm:
- Erstelle ein Temperatur-Objekt
tmit-10 - Gib
taus - Erhöhe um
+12.5 - Gib
taus und zusätzlich den Fahrenheit-Wert
- Erstelle ein Temperatur-Objekt
Aufgabe 2: Klasse Konto
Erstelle eine C#-Klasse Konto (Bankkonto) mit Kontostand und Kontoinhaber.
Vorgaben:
- Private Attribute:
string inhaber,double kontostand - Konstruktoren:
- 1-parametrig: nur
inhaber, Kontostand soll 0 sein - 2-parametrig:
inhaberundkontostand - Verwende Konstruktorverkettung
- 1-parametrig: nur
- Zugriff:
- Für
inhabernur Getter (keine Änderung möglich) - Für
kontostandkein Setter, Änderungen nur über Methoden
- Für
- Methoden:
void Einzahlen(double betrag)(betrag muss > 0 sein, sonst Exception)void Abheben(double betrag)(betrag muss > 0 sein; wenn zu wenig Guthaben → Exception)ToString():Inhaber: NAME, Kontostand: XX.XX
- Hauptprogramm:
- Lege ein Konto für
"Alex"mit 50 an - Zahle 20 ein, gib aus
- Hebe 60 ab, gib aus
- Lege ein Konto für
Aufgabe 3: Klasse Rechteck
Erstelle eine C#-Klasse Rechteck mit Breite und Höhe (ganzzahlig).
Vorgaben:
- Datenkapselung:
breiteundhoeheprivat - Konstruktoren:
- 1-parametrig (
int seite) → Quadrat (breite=seite, höhe=seite) - 2-parametrig (
int breite, int hoehe) - Verwende Konstruktorverkettung
- 1-parametrig (
- Getter/Setter:
- Für beide Setter gilt: Wert muss > 0 sein, sonst Exception
- Methoden:
int Umfang()int Flaeche()bool IstQuadrat()(true, wenn breite == höhe)ToString():Breite x Höhe(z. B.3 x 5)
- Hauptprogramm:
- Erstelle ein Rechteck
rmit3,4 - Gib
raus, gib Fläche und Umfang aus - Setze Höhe auf 3
- Gib aus, ob es jetzt ein Quadrat ist
- Erstelle ein Rechteck
Aufgabe 4: Spieler und Waffe
Interaktion mehrerer Klassen
Erstelle zwei Klassen: Spieler und Waffe.
Klasse Waffe:
Eigenschaften:
Name(string)Schaden(int)
Methode:
ZeigeInfo()→ zeigt Name und Schaden an
Klasse Spieler:
Eigenschaften:
Name(string)Leben(int)AktuelleWaffe(Waffe)
Konstruktor:
- erhält
NameundLeben
Methoden:
Ausrüsten(Waffe waffe)→ setztAktuelleWaffeAngreifen(Spieler ziel)→ reduziert das Leben des Zielspielers um den Schaden der aktuellen WaffeZeigeStatus()→ zeigt Name, Leben und Waffenname an
Aufgabe:
- Erstelle mindestens zwei
Waffe-Objekte (z.B. Schwert, Bogen). - Erstelle zwei
Spieler. - Rüste die Spieler mit unterschiedlichen Waffen aus.
- Lass die Spieler sich gegenseitig angreifen.
- Gib nach jedem Angriff den Status der Spieler aus.
Optional (Bonuspunkte):
- Verhindere Angriffe ohne Waffe
- Leben darf nicht unter 0 fallen
- Füge eine dritte Klasse
Rüstunghinzu, die den erlittenen Schaden reduziert
Aufgabe 5: Schüler und Schulklasse
Erstelle zwei Klassen: Schueler und Schulklasse.
Klasse Schueler:
Eigenschaften:
Name(string)Note(double)
Konstruktor:
- erhält Name und Note
Methoden:
ZeigeInfo()→ gibt Name und Note auf der Konsole aus
Klasse Schulklasse:
Eigenschaften:
Name(string, z. B. „3AHIF“)SchuelerListe(List<Schueler>)
Konstruktor:
- erhält den Namen der Schulklasse
- initialisiert die Liste der Schüler
Methoden:
SchuelerHinzufuegen(Schueler s)→ fügt einen Schüler zur Liste hinzuZeigeAlleSchueler()→ gibt alle Schüler mit ihren Noten ausBerechneDurchschnitt()→ gibt die Durchschnittsnote zurückBesteNote()→ gibt die beste (kleinste) Note zurückSchlechtesteNote()→ gibt die schlechteste (größte) Note zurück
Optional:
AnzahlBestanden()→ zählt, wie viele Schüler eine Note ≤ 4.0 habenBesterSchueler()→ gibt das Schueler-Objekt mit der besten Note zurück
Aufgabe:
- Erstelle mehrere
Schueler-Objekte (mindestens 5). - Erstelle ein Objekt der Klasse
Schulklasse. - Füge alle Schüler mit
SchuelerHinzufuegen(...)zur Schulklasse hinzu. - Gib alle Schüler aus.
- Gib danach folgende Werte aus:
- Durchschnittsnote
- Beste Note
- Schlechteste Note