10.02.2014 Aufrufe

Gruppenaufgaben

Gruppenaufgaben

Gruppenaufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Informatik Praktikum <strong>Gruppenaufgaben</strong> 17/26<br />

Aufgabe 5.20 Kaffee-Automat<br />

Achtung: Diese Aufgabe ist nur für Quereinsteiger geeignet, die nicht an der LV Informatik I<br />

an der HAWK teilnehmen!<br />

Sicherlich haben Sie schon den eleganten Kaffeeautomaten in der Mensa bemerkt. Hinter dem<br />

perfekt verarbeiteten Edelstahlgehäuse und den Bedienelementen, die ein wenig an Produkte<br />

eines großen amerikanischen Computerherstellers erinnern, steckt eine Menge Technik (und<br />

natürlich auch Software) um dem Benutzer einen vorzüglichen Kaffee- oder Cappuccinogenuss zu<br />

bereiten.<br />

Diese Software gilt es nun (ansatzweise) in der Programmiersprache C abzubilden:<br />

Erstellen Sie eine einfache Kaffeeautomatensteuerung in ANSI-C mit dem Name KAutoFee.exe<br />

nach folgenden Vorgaben:<br />

1. Der Benutzer wird freundlich begrüßt und die Getränkeliste wird präsentiert.<br />

2. Die Getränkeliste besteht zunächst nur aus: Kaffee<br />

3. Kaffee besteht aus Wasser, Kaffeebohnen, und nach Wunsch des Benutzers<br />

Milch und Zucker.<br />

4. Diese Zutaten sollen Datentechnisch als Struktur behandelt werden.<br />

5. Der Kaffeeautomat hat nur eine begrenzte Menge der oben genannten Zutaten. Bei jedem<br />

entnommenen Getränk wird die entsprechende Zutat dieser Menge dezimiert.<br />

6. Die Mengen der Zutaten sollen beim Start des Programms mit Werten initialisiert werden.<br />

7. Die Auswahl der Getränke erfolgt durch Tastatureingabe: k=Kaffee<br />

8. Nach Auswahl des Getränkes soll der Benutzerwunsch nach Zucker und Milch abgefragt<br />

werden.<br />

9. Der Benutzer bekommt sein Getränk – es kann eine neue Auswahl erfolgen.<br />

Die Kaffeeautomat - Steuerung soll dann erweitert und<br />

modifiziert werden:<br />

1. Zusätzlich zu Kaffee soll der Benutzer auch Cappuccino<br />

auswählen können. Cappuccino besteht aus Wasser,<br />

Espressobohnen, Milch(schaum) und nach Wunsch des<br />

Benutzers Zucker.<br />

2. Das Programm soll "korrekt" durch die Auswahltaste ’b’<br />

beendet werden können.<br />

3. Das ’b’ soll auch im Auswahlmenü mit angezeigt werden.<br />

4. Die Mengen der Zutaten sollen nun nicht mehr statisch im Programm initialisiert werden,<br />

sondern bei Programmstart aus einer Text-Datei gelesen werden. Bei Programmende soll die<br />

aktuelle Zutatenmenge in dieselbe Datei zurückgeschrieben werden. Erweitern Sie dazu Ihr<br />

Programm um die beiden Funktionen get_data() zum Lesen der aktuell vorhandenen<br />

Zutaten aus der Datei und set_data() zum Schreiben und fassen Sie die<br />

lesenden/schreibenden Daten in einem Array oder einer Struktur zusammen. Verwenden Sie<br />

hierfür die High-Level-Dateizugriffsfunktionen fopen(), fclose(), fwrite(), fread().<br />

5. Falls Sie es nicht bereits implementiert haben sollten: Erweitern Sie Ihr Programm um die<br />

Funktion check_mengen(). Diese Funktion soll verhindern, dass mehr Kaffee verkauft wird<br />

als materiell vorhanden ist ;-) Sobald eine Zutat alle ist, bzw. sie nicht mehr für einen<br />

kompletten Kaffee reicht, soll sich das Programm mit einem Hinweis auf die fehlende Zutat<br />

beenden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!