]> git.sur5r.net Git - c128-kasse/commitdiff
print_log-dummy, drucken nach verkauf, fix beim abfragen der aktion, print-toggling
authorsECuRE <sECuRE@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 18:42:42 +0000 (18:42 +0000)
committersECuRE <sECuRE@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 18:42:42 +0000 (18:42 +0000)
git-svn-id: https://shell.noname-ev.de/svn/kasse/c128@14 af93e077-1a23-4f1e-9cbe-9382a9d578f5

Makefile
kasse.c
kasse.h

index bd5d7f2e1130c2517fbf21d00118aed12603f0e8..87ac8089602a31234785ea3cdb7fdceddf76dea5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,4 +7,4 @@ all: config.o kasse.o
 
 clean:
        rm -rf *.o *.s
-       
\ No newline at end of file
+       
diff --git a/kasse.c b/kasse.c
index b07a512a34a4f1c9c10b8b7ed60e3f9164e23509..f1116b0919add8f8600d19a8e108cc73b3b43c17 100644 (file)
--- a/kasse.c
+++ b/kasse.c
@@ -21,16 +21,26 @@ void print_screen() {
        printf("Eingenommen: %d Euro, Verkauft: %d Flaschen\n\n", money * 100, items_sold);
        for (; i < num_items; ++i)
                printf("Item %x: %s (%d Cents, %d mal verkauft)\n", i, status[i].item_name, status[i].price, status[i].times_sold);
-       printf("\nBefehle: s) Save Data\n");
+       printf("\nBefehle: s) Save Data\tp) Toggle Printing\n");
 }
 
-/* Wird ausgelagert */
-void save_data() {
+/* Druckt eine entsprechende Zeile aus */
+void print_log(uc n, int einheiten, char *nickname) {
+       /* Format: 
+          Transaction-ID (Anzahl verkaufter Einträge, inklusive des zu druckenden!)
+          Uhrzeit (TODO)
+          Eintragname (= Getränk)
+          Preis (in Cents)
+          Anzahl
+          Nickname (falls es vom Guthaben abgezogen wird)
+          */
+       printf("[%d] UHRZEIT - %s - %d - %d - an %s\n", items_sold, status[n].item_name, status[n].price, einheiten, (nickname != NULL ? nickname : "Unbekannt"));
 }
 
+/* Dialog, der einen durch's Abrechnen der Einträge führt */
 void buy(uc n) {
        int negative = 1;
-       char entered[5] = {49, 0, 0, 0, 0};
+       char entered[5] = {'1', 0, 0, 0, 0};
        uc i = 0;
        uc c;
        int einheiten;
@@ -51,6 +61,8 @@ void buy(uc n) {
                status[n].times_sold += einheiten;
                money += status[n].price * einheiten;
                items_sold += einheiten;
+               // TODO: NULL in nickname des guthabenden ändern
+               print_log(n, einheiten, NULL);
        }
 }
 
@@ -64,9 +76,15 @@ int main() {
                /* und eventuell weitere Dialoge anzeigen */
                if (c > 47 && c < 58)
                        buy(c - 48);
-               else if (c == 115)
-                       save_data();
-               else if (c == 113)
+               else if (c == 's') {
+                       save_state();
+                       printf("Statefile saved, press ANYKEY to continue...\n");
+                       getchar();
+               } else if (c == 'p') {
+                       printing = (printing == 1 ? 0 : 1);
+                       printf("Printing is now %s, press ANYKEY to continue...\n", (printing == 1 ? "on" : "off"));
+                       getchar();
+               } else if (c == 'q')
                        break;
        }
        printf("BYEBYE\n");
diff --git a/kasse.h b/kasse.h
index 567d36903b1728e7f08c7d6da310c1d0f20cca30..8f6aca7cef8f43d65bb48cf18b97362944448654 100644 (file)
--- a/kasse.h
+++ b/kasse.h
@@ -1,2 +1 @@
-/* Abkürzung */
-
+uc printing = 1;