]> git.sur5r.net Git - c128-kasse/commitdiff
makefile, status array in config.h
authormatze <matze@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 17:04:04 +0000 (17:04 +0000)
committermatze <matze@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 17:04:04 +0000 (17:04 +0000)
git-svn-id: https://shell.noname-ev.de/svn/kasse/c128@7 af93e077-1a23-4f1e-9cbe-9382a9d578f5

Makefile
config.c
config.h
kasse.c
kasse.h

index ee7c979c4518c68812ec2820946576c34a5e1963..f10e636044aca7866eb339ae18299619b1ccd149 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,10 @@
+.c.s: cc65 -t c128 $<
 
-kasse: kasse.o
-       cl65 -t c128 kasse.o
+.s.o: cc65 -t c128 $<
 
-kasse.o: kasse.s
-       ca65 -t c128 kasse.s
-
-kasse.s: kasse.c
-       cc65 -t c128 kasse.c
-
-all: kasse
+all: config.o kasse.o 
+       cl65 -t c128 kasse.o config.o -o kasse
 
 clean:
-       rm -f *.s *.o
+       rm -rf *.o *.s
+       
\ No newline at end of file
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d9edd7c10751864790830ae84858bdf2f83a45df 100644 (file)
--- a/config.c
+++ b/config.c
@@ -0,0 +1,10 @@
+#include "config.h"
+
+void load_config();
+
+void load_items(){
+       num_items=3;
+       
+}
+void load_state(){}
+void save_state(){}
index d6bbb9f8a3a917cfaf3ce95a017a9d1293f9221b..8fdb9885bbe72e1dfdcac170ea6e7ac912813512 100644 (file)
--- a/config.h
+++ b/config.h
@@ -1,9 +1,27 @@
 #ifndef CONFIG_H_
 #define CONFIG_H_
 
-unsigned long int num_items;
-char **items;
+/* Eingenommes Geld in Cent */
+unsigned long int money = 0;
+unsigned long int num_items = 0;
 
-char load_config();
+/* Datenstruktur der verkauften Einträge */
+struct status_t {
+       char key;
+       char *item_name;
+       /* Wieviel kostet der Eintrag (in Cent)? */
+       unsigned int price;
+       /* Wie oft wurde er verkauft */
+       unsigned int times_sold;
+};
 
+#define MAX_ITEMS 16
+static struct status_t status[MAX_ITEMS];
+
+// unklar bis jetzt was das tun wird
+void load_config();
+
+void load_items();
+void load_state();
+void save_state();
 #endif /*CONFIG_H_*/
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();
diff --git a/kasse.h b/kasse.h
index a0d1633a0baa8f9ce945a17acdf319028add01e9..5fd2d8ccd35801cc3ea411d82ec034b4af3d5402 100644 (file)
--- a/kasse.h
+++ b/kasse.h
@@ -1,20 +1,3 @@
 /* Abkürzung */
 #define uc     unsigned char
 
-/* Anzahl Einträge */
-#define NUM_ITEMS      15
-
-/* Eingenommes Geld in Cent */
-static unsigned long int money = 0;
-static unsigned long int items_sold = 0;
-
-/* Datenstruktur der verkauften Einträge */
-struct status_t {
-       char *item_name;
-       /* Wieviel kostet der Eintrag (in Cent)? */
-       unsigned int preis;
-       /* Wie oft wurde er verkauft */
-       unsigned int times_sold;
-};
-
-static struct status_t status[NUM_ITEMS];