Schulkiosk (ohne Vererbung)

Der Hausmeister am QG betreibt einen kleinen Kiosk. Die Verwaltung soll mit einem Computerprogramm erledigt werden.

Er kommt mit folgendem Pflichtenheft zu dir und möchte die Kioskverwaltung von dir programmieren lassen:

Mit dem Kioskverwaltungsprogramm sollen die zu verkaufenden Brötchen verwaltet, ihr Gesamtbestand festgehalten und der Gesamtgewinn berechnet werden. Die Brötchen haben eine Bezeichnung, einen Einkaufspreis und einen Verkaufspreis. Außerdem wird die Art des Belags (Kräuter-Aufstrich, Wurst, Käse,…) angegeben werden. Die Brötchen werden über ihre Warenbezeichnung eindeutig festgelegt. Bei der Neuaufnahme eines Brötchens sollen die Bezeichnung, der Einkaufspreis, der Verkaufspreis und die Art des Belags eingegeben werden.

(A1)

Erstelle für die die Klasse Broetchen ein Implementationsdiagramm und implementiere einen Konstruktor.

(A2)

Das Kiosk-Verwaltungsprogramm verwaltet den Brötchenbestand und den aktuellen Kontostand. Beim Einkauf von Waren wird der Kontostand belastet, beim Verkauf wird der Verkaufspreis dem Konto gut geschrieben.

Deklariere und initialisiere in der Klasse Kiosk eine geeignete Datenstruktur zur Verwaltung der Brötchen. Im Implementationsdiagramm findest du den Namen des Attributs broetchenListe ohne Typ.

Implementiere die Methode einkaufenBroetchen(…) mit der im Klassendiagramm angegebenen Parameterliste. Der Verkaufspreis soll dabei um 20% über dem Einkaufspreis liegen.
Gleichzeitig soll der Warenbestand des Kiosks aktualisiert werden.

Der Hausmeister will den zu erwarten Gewinn ermitteln. Dazu vergleicht er Einkaufs- und Verkaufspreis der vorhandenen Brötchen.

Implementiere in der Klasse Kiosk eine Methode getGewinnerwartung():double.

Am Ende eines Verkaufstages werden die nicht verkauften Brötchen an die lokale Hilfsorganisation "Tafel" abgegeben.

Implementiere in der Klasse Kiosk eine Methode ausmusternBackwaren(), bei der aus der Brötchenliste alle Brötchen entfernt werden.