From ecbf41ee07541e1ed6c2e78b6dc2481eb0d15928 Mon Sep 17 00:00:00 2001 From: MassiveAtoms Date: Mon, 24 Jun 2019 21:42:08 -0300 Subject: [PATCH] code compiles, doesnt run tho --- .clang-format | 9 +++++ db.cpp | 60 +++++++++++++++++++++++++------- headers/Customer.h | 19 +++++----- headers/db.h | 58 +++++-------------------------- main.cpp | 87 +++++++++++++++++++++++----------------------- readme.md | 2 +- 6 files changed, 117 insertions(+), 118 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..73da0c5 --- /dev/null +++ b/.clang-format @@ -0,0 +1,9 @@ + +BasedOnStyle: LLVM +IndentWidth: 4 +#------------- + +Language: Cpp + +PointerAlignment: Left +ColumnLimit: 160 \ No newline at end of file diff --git a/db.cpp b/db.cpp index fc8dbbf..8792572 100644 --- a/db.cpp +++ b/db.cpp @@ -1,21 +1,55 @@ #include "headers/db.h" -namespace db -{ +namespace data { +char* error_message; // no clue, prolly error message - static int callback(void *NotUsed, int argc, char **argv, char **azColName){ - int i; - for(i=0; i -#include #include "Park_time.h" +#include +#include -using std::vector; using std::string; +using std::vector; -// enum type is basically een manier om categories te representen als een integer in the background, maar om t in code +// enum type is basically een manier om categories te representen als een integer in the background, maar om t in code // aan te geven als de actual category. enum class Verhicle_type { small = 1, @@ -22,16 +22,16 @@ db repr of Customer int id (not null, auto increment) string name (not nulll) string card_code (not null) -Dit moet nog verandert worden. +Dit moet nog verandert worden. -card code zou eigenlijk een randomly generated string moeten zijn, die je bv. op een ndf card zou opslaan en zo zou +card code zou eigenlijk een randomly generated string moeten zijn, die je bv. op een ndf card zou opslaan en zo zou authenticaten bij je parking spot. We kunnen dit ipv of samen met een password gebruiken. clock in en out creeert en compleet een park_time object. Voegt het toe aan een vector. */ class Customer { -public: + public: int id; string name; string card_code; @@ -41,13 +41,10 @@ public: void gen_monthly(); Customer(int id_, string name_, Verhicle_type verhicle_); -private: + private: Verhicle_type verhicle; vector park_instances; string gen_cardcode(); - }; - - #endif // CUSTOMER_H \ No newline at end of file diff --git a/headers/db.h b/headers/db.h index ff0806d..b2c22ac 100644 --- a/headers/db.h +++ b/headers/db.h @@ -1,56 +1,16 @@ +#include #include #include -#include -namespace db -{ +namespace data { - static int callback(void *NotUsed, int argc, char **argv, char **azColName); +static int callback(void* NotUsed, int argc, char** argv, char** azColName); - sqlite3* db; - char* error_message; +void open_db(sqlite3* db_); +/* +this initializes the table in the database. + */ +void initialize_db(sqlite3* db_); - - void open_db(sqlite3* db_){ - int success = sqlite3_open("sqlite.db", &db); - if (!success) { - std::cout << "Can't open database: "< #include // to make pausing work, not sure if i need chrono, or this, or both #include - - /* Code strucure like this: -class declarations zijn in /headers/class_naam.h, en definitions van de member functs in /class_naam.cpp -elke klas in zn eigen file omdat ik incomplete class declarations wilt tegengaan, omdat ik ze niet goed begrijp. -En header/source split om multiple definition errors tegen te gaan. +class declarations zijn in /headers/class_naam.h, en definitions van de member +functs in /class_naam.cpp elke klas in zn eigen file omdat ik incomplete class +declarations wilt tegengaan, omdat ik ze niet goed begrijp. En header/source +split om multiple definition errors tegen te gaan. Park_spot representeert een parkeermeter bij elke parkeer spot. -Een customer is een customer. -Park time is een object die reffereert naar parkspot en customer, basically een record die zegt dat -een customer voor x tijd geparkeert heeft bij spot x, enz. +Een customer is een customer. +Park time is een object die reffereert naar parkspot en customer, basically een +record die zegt dat een customer voor x tijd geparkeert heeft bij spot x, enz. -De client clockt in en uit bij een spot. +De client clockt in en uit bij een spot. */ void Wait(int sec) @@ -24,42 +24,35 @@ void Wait(int sec) a wait function where 1 sec represents 1 hour irl. */ { - std::this_thread::sleep_for(seconds { sec }); + std::this_thread::sleep_for(seconds{sec}); } using std::cout; +int main() { + std::vector spots{1, 2, 3, 4, 5}; + std::vector customers{ + {1, "Sagar Ram", Verhicle_type::small}, {2, "Shaq", Verhicle_type::medium}, {3, "Josh", Verhicle_type::large}, {4, "Stefano", Verhicle_type::small}}; -int main() -{ - std::vector spots { - 1, 2, 3, 4, 5 - }; - std::vector customers { - { 1, "Sagar Ram", Verhicle_type::small }, - { 2, "Shaq", Verhicle_type::medium }, - { 3, "Josh", Verhicle_type::large }, - { 4, "Stefano", Verhicle_type::small } - }; + // spots[1].clock(&customers[3]); // stefano parks at spot 2 + // Wait(2); + // spots[3].clock(&customers[2]); // josh parks at spot 4 + // Wait(1); + // spots[1].clock(&customers[3]); // stefano clocks out of spot 1 + // Wait(5); + // spots[1].clock(&customers[1]); // shaq clocks in at spot 1 + // Wait(6); + // spots[2].clock(&customers[0]); // sagar clocks in at spot 3. what the fuck + // // is he doing here? + // Wait(2); + // spots[2].clock(&customers[0]); // sagar clocks out from spot 2 + // Wait(3); + // spots[3].clock(&customers[2]); // josh clocks out from spot 4 + // spots[1].clock(&customers[1]); // shaq clocks out at spot 1 - spots[1].clock(&customers[3]); // stefano parks at spot 2 - Wait(2); - spots[3].clock(&customers[2]); // josh parks at spot 4 - Wait(1); - spots[1].clock(&customers[3]); // stefano clocks out of spot 1 - Wait(5); - spots[1].clock(&customers[1]); // shaq clocks in at spot 1 - Wait(6); - spots[2].clock(&customers[0]); // sagar clocks in at spot 3. what the fuck is he doing here? - Wait(2); - spots[2].clock(&customers[0]); // sagar clocks out from spot 2 - Wait(3); - spots[3].clock(&customers[2]); // josh clocks out from spot 4 - spots[1].clock(&customers[1]); // shaq clocks out at spot 1 - - spots[2].clock(&customers[1]); // shaq clocks out at spot 3 - Wait(4); - spots[2].clock(&customers[1]); // shaq clocks out at spot 2 + // spots[2].clock(&customers[1]); // shaq clocks out at spot 3 + // Wait(4); + // spots[2].clock(&customers[1]); // shaq clocks out at spot 2 /* so: @@ -68,8 +61,14 @@ int main() shaq parked 2 times, once for 4 and another for 11 secs sagar parked for 2 secs */ - customers[0].gen_monthly(); - customers[1].gen_monthly(); - customers[2].gen_monthly(); - customers[3].gen_monthly(); -} \ No newline at end of file + customers[0].gen_monthly(); + customers[1].gen_monthly(); + customers[2].gen_monthly(); + customers[3].gen_monthly(); + + // test + sqlite3* db; + data::open_db(db); + data::initialize_db(db); + sqlite3_close(db); +} diff --git a/readme.md b/readme.md index b0a2f39..b8926fb 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ use ``` -g++ main.cpp Park_time.cpp Customer.cpp Park_spot.cpp -o test.exe +g++ Park_time.cpp Customer.cpp Park_spot.cpp db.cpp main.cpp -lsqlite3 -o test.exe ``` to build the project