first commit
This commit is contained in:
commit
acef6ad630
8
admin_user.h
Normal file
8
admin_user.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
31
data_file_inventory.txt
Normal file
31
data_file_inventory.txt
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#category, brand, product, price, cost, stock, barcode
|
||||||
|
Test
|
||||||
|
Testing Co Ltd
|
||||||
|
Testing Product
|
||||||
|
15.0
|
||||||
|
1122
|
||||||
|
Juice
|
||||||
|
Mr Juicy
|
||||||
|
Orange Juice Drink 360mL (Bottle)
|
||||||
|
9.9
|
||||||
|
9665
|
||||||
|
Juice
|
||||||
|
F&N Fruit Tree
|
||||||
|
Apple & Aloe Vera Juice Drink 500mL
|
||||||
|
16.0
|
||||||
|
6479
|
||||||
|
Juice
|
||||||
|
F&N Fruit Tree
|
||||||
|
Apple & Aloe Vera Juice Drink 1L
|
||||||
|
22.9
|
||||||
|
5155
|
||||||
|
Juice
|
||||||
|
Homegrown Juice Company
|
||||||
|
Cold Pressed NZ Apple Juice 1L
|
||||||
|
35.5
|
||||||
|
6470
|
||||||
|
T2
|
||||||
|
T2 Brand
|
||||||
|
T2 Product
|
||||||
|
20.0
|
||||||
|
2983
|
67
data_file_transaction.txt
Normal file
67
data_file_transaction.txt
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#date,time,id,price,qty,barcode
|
||||||
|
2022-08-10
|
||||||
|
18:55:30
|
||||||
|
32001
|
||||||
|
20
|
||||||
|
-10
|
||||||
|
5155
|
||||||
|
2022-08-10
|
||||||
|
18:55:30
|
||||||
|
32001
|
||||||
|
15
|
||||||
|
-5
|
||||||
|
6479
|
||||||
|
2022-08-11
|
||||||
|
10:55:21
|
||||||
|
20001
|
||||||
|
22.9
|
||||||
|
1
|
||||||
|
5155
|
||||||
|
2022-08-11
|
||||||
|
19:49:42
|
||||||
|
32001
|
||||||
|
16.0
|
||||||
|
2
|
||||||
|
6479
|
||||||
|
2022-08-12
|
||||||
|
12:34:12
|
||||||
|
20002
|
||||||
|
16
|
||||||
|
1
|
||||||
|
6479
|
||||||
|
2022-08-12
|
||||||
|
18:49:33
|
||||||
|
30001
|
||||||
|
22.9
|
||||||
|
10
|
||||||
|
5155
|
||||||
|
2022-08-12
|
||||||
|
18:49:51
|
||||||
|
20001
|
||||||
|
15.0
|
||||||
|
5
|
||||||
|
1122
|
||||||
|
2022-08-12
|
||||||
|
22:43:53
|
||||||
|
30001
|
||||||
|
22.9
|
||||||
|
2
|
||||||
|
5155
|
||||||
|
2022-08-12
|
||||||
|
22:44:54
|
||||||
|
30001
|
||||||
|
15.0
|
||||||
|
1
|
||||||
|
1122
|
||||||
|
2022-08-12
|
||||||
|
23:11:05
|
||||||
|
30002
|
||||||
|
5.0
|
||||||
|
-1
|
||||||
|
2983
|
||||||
|
2022-08-12
|
||||||
|
23:59:02
|
||||||
|
20001
|
||||||
|
22.9
|
||||||
|
1
|
||||||
|
5155
|
10
data_file_user.txt
Normal file
10
data_file_user.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#name,role,id
|
||||||
|
Wu Ka Cheuk
|
||||||
|
teacher
|
||||||
|
32001
|
||||||
|
Chan Tai Man
|
||||||
|
student
|
||||||
|
20001
|
||||||
|
Chan Siu Man
|
||||||
|
student
|
||||||
|
20002
|
112
database.h
Normal file
112
database.h
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
||||||
|
#ifndef DNT_H
|
||||||
|
#define DNT_H
|
||||||
|
#include "dateNtime.h"
|
||||||
|
#endif // !DNT_H
|
||||||
|
typedef struct basic_db{
|
||||||
|
FILE *fp;
|
||||||
|
int row_count;
|
||||||
|
//array of struct of row
|
||||||
|
};
|
||||||
|
|
||||||
|
//inventory
|
||||||
|
typedef struct inventory{
|
||||||
|
struct basic_db db;
|
||||||
|
struct inventory_row* row;
|
||||||
|
|
||||||
|
};
|
||||||
|
typedef struct inventory_row{
|
||||||
|
char category[100];
|
||||||
|
char band[100];
|
||||||
|
char product[100];
|
||||||
|
double price;
|
||||||
|
double cost;
|
||||||
|
int stock;
|
||||||
|
long barcode;
|
||||||
|
};
|
||||||
|
typedef enum INVENTORY {
|
||||||
|
category = 1, brand = 2, product = 3, price = 4, cost = 5, stock = 6 , barcode = 7
|
||||||
|
};
|
||||||
|
|
||||||
|
//transaction
|
||||||
|
typedef struct transaction{
|
||||||
|
struct basic_db db;
|
||||||
|
struct transaction_row* row;
|
||||||
|
|
||||||
|
};
|
||||||
|
typedef struct transaction_row{
|
||||||
|
struct date date;
|
||||||
|
struct time time;
|
||||||
|
long id;
|
||||||
|
double price;
|
||||||
|
int quantity;
|
||||||
|
long barcode;
|
||||||
|
};
|
||||||
|
typedef enum TRANSACTION {
|
||||||
|
date = 1, time = 2, id = 3, price = 5, quantity = 4, barcode = 7
|
||||||
|
};
|
||||||
|
|
||||||
|
//user
|
||||||
|
typedef struct user{
|
||||||
|
struct basic_db db;
|
||||||
|
struct user_row* row;
|
||||||
|
};
|
||||||
|
typedef struct user_row{
|
||||||
|
char name[100];
|
||||||
|
char role[100];
|
||||||
|
long id;
|
||||||
|
bool isAdmin;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum USER {
|
||||||
|
name = 1, role = 2,id = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//list of db func
|
||||||
|
bool read_db_invt(FILE* fp,enum INVENTORY inventory){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool read_db_tran(FILE* fp,enum TRANSACTION transaction){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool read_db_user(FILE* fp,enum USER user){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool new_db_invt(FILE* fp,enum INVENTORY inventory){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool new_db_tran(FILE* fp,enum TRANSACTION transaction){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool new_db_user(FILE* fp,enum USER user){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool edit_db_invt(FILE* fp,enum INVENTORY inventory){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool edit_db_tran(FILE* fp,enum TRANSACTION transaction){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool edit_db_user(FILE* fp,enum USER user){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool rm_db_invt(FILE* fp,enum INVENTORY inventory){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool rm_db_tran(FILE* fp,enum TRANSACTION transaction){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool rm_db_user(FILE* fp,enum USER user){
|
||||||
|
return true;
|
||||||
|
}
|
45
dateNtime.h
Normal file
45
dateNtime.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
||||||
|
//DATE
|
||||||
|
typedef struct date{
|
||||||
|
int day;
|
||||||
|
int month;
|
||||||
|
int year;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct date convert_to_date(char* date){
|
||||||
|
struct date d;
|
||||||
|
char* token = strtok(date, "-");
|
||||||
|
d.day = atoi(token);
|
||||||
|
token = strtok(NULL, "-");
|
||||||
|
d.month = atoi(token);
|
||||||
|
token = strtok(NULL, "-");
|
||||||
|
d.year = atoi(token);
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TIME
|
||||||
|
|
||||||
|
typedef struct time{
|
||||||
|
int hour;
|
||||||
|
int minute;
|
||||||
|
int second;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct time convert_to_time(char* time){
|
||||||
|
struct time t;
|
||||||
|
char* token = strtok(time, ":");
|
||||||
|
t.hour = atoi(token);
|
||||||
|
token = strtok(NULL, ":");
|
||||||
|
t.minute = atoi(token);
|
||||||
|
token = strtok(NULL, ":");
|
||||||
|
t.second = atoi(token);
|
||||||
|
return t;
|
||||||
|
}
|
8
filecontrol.h
Normal file
8
filecontrol.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
54
main.c
Normal file
54
main.c
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
||||||
|
#ifndef CUSTOM_H
|
||||||
|
#define CUSTOM_H
|
||||||
|
#include "database.h"
|
||||||
|
#endif // !CUSTOM_H
|
||||||
|
|
||||||
|
#ifndef MENU_H
|
||||||
|
#define MENU_H
|
||||||
|
#include "menu.h"
|
||||||
|
#endif //MENU_H
|
||||||
|
#include "normal_user.h"
|
||||||
|
#include "admin_user.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
bool check;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
//print welcome message
|
||||||
|
//prompt weather user is admin or normal user
|
||||||
|
//then redirect them to the corisponding menu
|
||||||
|
welcome_message();//refer to menu.h, keep things easier for repeat use on future
|
||||||
|
int choice = user_choices();//same as above
|
||||||
|
switch (choice)
|
||||||
|
{
|
||||||
|
case 1://admin
|
||||||
|
check = admin_menu();//refers to admin_user.h
|
||||||
|
break;
|
||||||
|
case 2://normal user
|
||||||
|
check = normal_menu();//refers to normal_user.h
|
||||||
|
break;
|
||||||
|
case 3://exit
|
||||||
|
check = false;
|
||||||
|
break;
|
||||||
|
default://invalid input
|
||||||
|
printf("Invalid choice\n");
|
||||||
|
check = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} while (check);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
26
menu.h
Normal file
26
menu.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void welcome_message(){
|
||||||
|
printf("><Welcome to the Student Union POS system><\n");//welcome messgae
|
||||||
|
}
|
||||||
|
|
||||||
|
int user_choices(){
|
||||||
|
int choice;
|
||||||
|
|
||||||
|
printf("Are you an admin or a normal user?\n");
|
||||||
|
printf("1. Admin\n");
|
||||||
|
printf("2. Normal User\n");
|
||||||
|
printf("3. Exit\n");
|
||||||
|
|
||||||
|
scanf("%d", &choice);
|
||||||
|
|
||||||
|
return choice;
|
||||||
|
}
|
20
normal_user.h
Normal file
20
normal_user.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
//include std lib if they havent been included
|
||||||
|
#ifndef STD_LIB_H
|
||||||
|
#define STD_LIB_H
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#include<stdbool.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MENU_H
|
||||||
|
#define MENU_H
|
||||||
|
#include "menu.h"
|
||||||
|
#endif //MENU_H
|
||||||
|
|
||||||
|
bool normal_menu(){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
retrurn true
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user