]> git.sur5r.net Git - c128-kasse/blobdiff - kasse.c
makefile, status array in config.h
[c128-kasse] / kasse.c
diff --git a/kasse.c b/kasse.c
index c4cb98b6afab8fccade277b51752a16eb9356bb5..f2ba8a531b4353a20ebf4f681c9e366515413493 100644 (file)
--- a/kasse.c
+++ b/kasse.c
@@ -2,6 +2,7 @@
 #include <conio.h>
 #include <stdlib.h>
 
+#include "config.h"
 #include "kasse.h"
 // conf
 // drucker 4 oder 5
@@ -16,9 +17,9 @@ void print_screen() {
        uc i = 0;
        clrscr();
        printf("C128-Kassenprogramm\n\n");
-       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].preis, status[i].times_sold);
+       printf("Eingenommen: 1337 Euro, Verkauft: 42 Flaschen\n\n");
+       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");
 }
 
@@ -27,26 +28,22 @@ void save_data() {
 }
 
 void buy(uc n) {
-       int negative = 1;
-       uc entered[5] = {49, 0, 0, 0, 0};
-       uc i = 0;
-       uc c;
-       int einheiten;
+       static uc einheiten = 1;
+       static uc c;
        if (status[n].item_name == NULL)
                printf("ERROR: No such item\n");
        else {
                printf("Wieviel Einheiten \"%s\"?\n", status[n].item_name);
                while (1) {
                        c = getchar();
-                       if (c == 13)
+                       printf("das war %x\n", c);
+                       if (c == 32)
                                break;
-                       else if (c == 45 && i == 0)
-                               negative = -1;
-                       else if (c > 47 && c < 58)
-                               entered[i++] = c;
+                       else if (c > 47 && c < 60)
+                               einheiten += (c - 48);
                }
-               einheiten = atoi(entered) * negative;
                status[n].times_sold += einheiten;
+               money += status[n].price * einheiten;
                money += status[n].preis * einheiten;
                items_sold += einheiten;
        }
@@ -56,12 +53,12 @@ int main() {
        static uc c;
        /* TODO: remove */
        status[0].item_name = "cola";
-       status[0].preis = 230;
+       status[0].price = 230;
        status[0].times_sold = 0;
        status[1].item_name = "mate";
-       status[1].preis = 150;
+       status[1].price = 150;
        status[0].times_sold = 0;
-       for (c = 2; c < NUM_ITEMS; ++c)
+       for (c = 2; c < 15; ++c)
                status[c].item_name = NULL;
        while (1) {
                /* Bildschirm anzeigen */
@@ -69,7 +66,7 @@ int main() {
                /* Tastatureingaben abfragen */
                c = getchar();
                /* und eventuell weitere Dialoge anzeigen */
-               if (c > 47 && c < 58)
+               if (c > 47 && c < 60)
                        buy(c - 48);
                else if (c == 115)
                        save_data();