Zusatzaufgabe zur Objekt-Orientierten Programmierung mit C++
← Musterlösung | ● | Zusatzaufgabe zur STL →
Implementieren Sie eine Kaffeemaschine als C++ Objekt nach den Prinzipien der
Eine Kaffeemaschine stellt Kaffee aus Kaffeepulver und Wasser her.
Die Kaffeemaschine soll folgende fĂĽr die Implementierung relevanten Bestandteile besitzen:
- Behälter für Wasser mit Füllstand in Millilitern
- Behälter für Kaffeepulver in Gramm
- Kaffeekanne mit FĂĽllstand in Millilitern
- Schalter mit n=2 Positionen.
- Die Schalterpositionen seien nummeriert als Zustände s=0,1
- In Position s=0 ist die Kaffeemaschine aus
- In Position s=1 brĂĽht die Kaffeemaschine Kaffee
- Nach vollbrachter Arbeit ist der Wasserbehälter leer und die Kanne voll.
- Der gebrĂĽhte Kaffee kann entnommen werden, solange die Maschine an ist.
- Wird die Maschine ausgeschaltet, so wird angenommen, dass die Kanne und das verbrauchte Pulver vollständig geleert werden.
Eine Espressomaschine stellt eine Tasse Espresso aus 7g Kaffee und 25 Millilitern Wasser her.
Eine Espressomaschine ist daher eine Spezialisierung einer Kaffeemaschine.
- Der Schalter habe n=4 Schalterpositionen
- Die Schalterpositionen seien nummeriert mit s=0,1,2,3
- In Position s=0 ist die Espressomaschine aus
- In Position s=1 brĂĽht die Espressomaschine eine Tasse Espresso
- In Position s=2 brĂĽht die Espressomaschine eine Tasse starken Espresso
- In Position s=3 brĂĽht die Espressomaschine einen doppelten Espresso
- Nach vollbrachter Arbeit ist der Wasserbehälter und der Kaffeebehälter um die entsprechend verwendeten Mengen geleert und die Tasse voll.
- Die Maschine schaltet sich automatisch wieder in den Zustand s=0 zurĂĽck, wenn der gebrĂĽhte Espresso entnommen wird.
- Die Maschine schaltet sich auch dann zurĂĽck, wenn nicht genĂĽgend Wasser oder Pulver vorhanden ist.
Bearbeitungshinweise zur Implementierung:
- Der Konstruktor der Maschine besitzt als Parameter den maximalen FĂĽllstand von Wasser, Kaffeepulver und Kanneninhalt.
- Die Maschine besitzt Methoden für folgende Aktivitäten:
- NachfĂĽllen von Wasser (Parameter w)
- NachfĂĽllen von Kaffeepulver (Parameter p)
- Betätigen des Schalters (Parameter s)
- Entnahme von Kaffee (Parameter k)
- Abfragen des Füllstandes der jeweiligen Behälter bzw. Kannen und Tassen
Testen der Implementierung:
Ein typischer Ablauf für eine Kaffeemaschine wäre:
- EinfĂĽllen von 50 Gramm Kaffeepulver
- EinfĂĽllen von halbem Liter Wasser
- Betätigen von Schalter s=1
- Entnahme von 200 Milliliter Kaffee
- Entnahme von 200 Milliliter Kaffee
- Betätigen von Schalter s=0
- Ausgabe von FĂĽllstand Kaffee/Wasser → 100 Milliliter / 0 Milliliter
Ein typischer Ablauf für eine Espressomaschine wäre:
- NachfĂĽllen von 1 Pfund Kaffeepulver
- NachfĂĽllen von 2 Liter Wasser
- Betätigen von Schalter s=1
- Entnahme von Espresso
- Betätigen von Schalter s=3
- Entnahme von Espresso
- Ausgabe von FĂĽllstand Kaffeepulver/Wasser → 479 Gramm / 1925 Milliliter
← Musterlösung | ● | Zusatzaufgabe zur STL →