8 //#include "credit_manager.h"
14 /* Hauptbildschirm ausgeben */
18 printf("C128-Kassenprogramm\n\n");
19 printf("Eingenommen: %d Euro, Verkauft: %d Flaschen\n\n", money * 100, items_sold);
20 for (; i < num_items; ++i)
21 printf("Item %x: %s (%d Cents, %d mal verkauft)\n", i, status[i].item_name, status[i].price, status[i].times_sold);
22 printf("\nBefehle: s) Save Data p) Toggle Printing\n");
25 /* Druckt eine entsprechende Zeile aus */
26 void print_log(uc n, int einheiten, char *nickname) {
28 Transaction-ID (Anzahl verkaufter Einträge, inklusive des zu druckenden!)
30 Eintragname (= Getränk)
33 Nickname (falls es vom Guthaben abgezogen wird)
35 printf("[%d] UHRZEIT - %s - %d - %d - an %s\n", items_sold, status[n].item_name, status[n].price, einheiten, (nickname != NULL ? nickname : "Unbekannt"));
38 /* Dialog, der einen durch's Abrechnen der Einträge führt */
41 char entered[5] = {'1', 0, 0, 0, 0};
45 if (status[n].item_name == NULL)
46 printf("ERROR: No such item\n");
48 printf("Wieviel Einheiten \"%s\"?\n", status[n].item_name);
53 else if (c == '-'&& i == 0)
55 else if (c > 47 && c < 58)
58 einheiten = atoi(entered) * negative;
59 status[n].times_sold += einheiten;
60 money += status[n].price * einheiten;
61 items_sold += einheiten;
62 // TODO: NULL in nickname des guthabenden ändern
64 print_log(n, einheiten, NULL);
70 /* Konfigurationsdatei laden */
72 /* Einträge (=Getränke) laden */
81 /* Bildschirm anzeigen */
83 /* Tastatureingaben abfragen */
85 /* und eventuell weitere Dialoge anzeigen */
89 /* Zustandsdatei schreiben */
92 printf("Statefile/Creditfile saved, press ANYKEY to continue...\n");
94 } else if (c == 'p') {
95 /* Drucken an- oder ausschalten */
96 printing = (printing == 1 ? 0 : 1);
97 printf("Printing is now %s, press ANYKEY to continue...\n", (printing == 1 ? "on" : "off"));
99 } else if (c == 'g') {
100 /* Guthabenverwalter aufrufen */