Gruppenaufgaben
Gruppenaufgaben
Gruppenaufgaben
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.