From 70fcbc274bb75708e16d8cdd77a6dddf42eb6357 Mon Sep 17 00:00:00 2001 From: MassiveAtoms Date: Sat, 6 Jul 2019 11:52:01 -0300 Subject: [PATCH] Fixing some stuff --- CMakeLists.txt | 2 ++ Customer.cpp | 10 +++++----- Interface.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ Query.cpp | 12 ++++++------ data.cpp | 2 +- headers/Customer.h | 10 +++++----- headers/Interface.h | 9 +++++++++ headers/Park_spot.h | 1 + main.cpp | 18 ++++++++---------- old_test.db3 | Bin 16384 -> 0 bytes test.db3 | Bin 16384 -> 16384 bytes 11 files changed, 77 insertions(+), 27 deletions(-) create mode 100644 Interface.cpp create mode 100644 headers/Interface.h delete mode 100644 old_test.db3 diff --git a/CMakeLists.txt b/CMakeLists.txt index f965e73..97671bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,8 @@ add_executable(park headers/Park_time.h Query.cpp headers/Query.h + Interface.cpp + headers/Interface.h ) diff --git a/Customer.cpp b/Customer.cpp index ea435a0..f74c23f 100644 --- a/Customer.cpp +++ b/Customer.cpp @@ -1,18 +1,18 @@ #include "headers/Customer.h" // constructors -Customer::Customer(string name_, string password_, Verhicle_type verhicle_) - : name{name_}, verhicle{verhicle_}, password{hash_password(password_)} { +Customer::Customer(string name_, string password_, Vehicle_type vehicle_) + : name{name_}, vehicle{vehicle_}, password{hash_password(password_)} { id = auto_increment_db() + 1; save_db(); } Customer::Customer(int id_, string name_, string password_, - Verhicle_type verhicle_, vector instances) + Vehicle_type vehicle_, vector instances) :id{id_}, name{name_}, password{password_}, - verhicle{verhicle_}, + vehicle{vehicle_}, park_instances{instances} {} @@ -49,7 +49,7 @@ void Customer::gen_monthly() { void Customer::save_db() { string statement{"insert into Customer values (, '', '', );"}; // after ( = 28) - statement.insert(38, to_string(int(verhicle))); + statement.insert(38, to_string(int(vehicle))); statement.insert(36, password); statement.insert(32, name); statement.insert(29, to_string(id)); diff --git a/Interface.cpp b/Interface.cpp new file mode 100644 index 0000000..7829c04 --- /dev/null +++ b/Interface.cpp @@ -0,0 +1,40 @@ +#include "headers/Interface.h" + +void interface_member() { + int id; + string password; + cout << "\nPlease input id:"; + cin >> id; + Customer c = query_customer_with_id(id); + cout << "\nPlease input password:"; + cin >> password; + while (!(verify_password(c.password, password))){ + cout << "ERROR: wrong password. Please retype your password \n"; + cin >> password; + } + cout << "Logged in succesfully\n"; + + // if (verify_password(c.password, password)) { + // cout << "\nLogged in successfully."; + // } else { + // cout + // << "Error, id and password combination not found, please try again."; + // } +} + +void interface_admin() {} + +void interface() { + int selector; + cout << "\nHello and welcome to the parking spot! Please select a suitable " + "option:"; + cout << "\n[1]Log in as member"; + cout << "\n[2]Log in as administrator"; + cin >> selector; + switch (selector) { + case 1: + interface_member(); + case 2: + interface_admin(); + } +} diff --git a/Query.cpp b/Query.cpp index 9e84a65..dbe898b 100644 --- a/Query.cpp +++ b/Query.cpp @@ -38,16 +38,16 @@ vector query_customer_with_name(string name) { vector result; SQLite::Statement query( data::db, - "SELECT id, name, password, verhicle FROM Customer WHERE name = ?;"); + "SELECT id, name, password, vehicle FROM Customer WHERE name = ?;"); query.bind(1, name); while (query.executeStep()) { int id = query.getColumn(0); string name_ = query.getColumn(1); string password = query.getColumn(2); - int verhicle = query.getColumn(3); // cast to verhicle + int vehicle = query.getColumn(3); // cast to vehicle vector park_instances = query_parktimes_for_customer(id); result.push_back(Customer{ - id, name_, password, Verhicle_type(verhicle), park_instances}); + id, name_, password, Vehicle_type(vehicle), park_instances}); } return result; } @@ -65,12 +65,12 @@ Customer query_customer_with_id(int id) { while (query.executeStep()) { string name = query.getColumn(1); string password = query.getColumn(2); - int verhicle = query.getColumn(3); // cast to verhicle + int vehicle = query.getColumn(3); // cast to vehicle vector park_instances = query_parktimes_for_customer(id); Customer result{ - id, name, password, Verhicle_type(verhicle), park_instances}; + id, name, password, Vehicle_type(vehicle), park_instances}; // DEBUG - // cout << "{" << result.id << "," < instances); void clock_in(int s_id); void clock_out(int s_id); @@ -48,7 +48,7 @@ class Customer { void delete_db(); void gen_monthly(); - Verhicle_type verhicle; + Vehicle_type vehicle; private: vector park_instances; diff --git a/headers/Interface.h b/headers/Interface.h new file mode 100644 index 0000000..104ba70 --- /dev/null +++ b/headers/Interface.h @@ -0,0 +1,9 @@ + + +#include "Query.h" + +using std::cin; + +void interface(); +void interface_member(); +void interface_admin(); \ No newline at end of file diff --git a/headers/Park_spot.h b/headers/Park_spot.h index 61a994c..e50dfdc 100644 --- a/headers/Park_spot.h +++ b/headers/Park_spot.h @@ -18,6 +18,7 @@ class Park_spot { int id; bool taken; int parked_customer; + Park_spot(); Park_spot(int id_, bool taken_, int parked); void clock(Customer& c_customer); diff --git a/main.cpp b/main.cpp index 65a5058..7d88f59 100644 --- a/main.cpp +++ b/main.cpp @@ -1,4 +1,4 @@ -#include "headers/Query.h" +#include "headers/Interface.h" #include @@ -70,17 +70,15 @@ For now, it's just here in case you want an easy way to store customers. */ int main() { - Customer sagar = query_customer_with_name("stefan udit")[0]; - Customer sagar1 = query_customer_with_id(2); - cout << sagar.id << "," << sagar.name << "," << sagar.password << "\n"; - cout << sagar1.id << "," << sagar1.name << "," << sagar1.password; - cout << parking_spots.size(); + // er is een customer met id 1(testcustomer) met password "password" + + // Customer test { + // "testcustomer", "password", Vehicle_type::bike + // }; + + interface(); - for (auto i : parking_spots) { - cout << "\n" << i.id << "," << i.parked_customer; - } - populate_spots(); } /* diff --git a/old_test.db3 b/old_test.db3 deleted file mode 100644 index 108a7ad5250f75413fabe333ec9836c9061be779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 ToGI{2hS_Oyb>VYBx1j$9vXJf= diff --git a/test.db3 b/test.db3 index fb38b234038e83bd1e874342e5941455948e1791..6e83b13452cc5fa52980122413fb0f25f2951302 100644 GIT binary patch delta 152 zcmZo@U~Fh$oFL7}GEv5vk!54T5`H#D{%!{T?#+q{jr=0TjBE_5jsBb^sl_G9rNt%r zxv52yd*tOk%CqtU14>d0BJ^Ez@(T+}0}{jB3ISHQ~3idP<-19PV8F# zM9(n-c8oD{mKDJtSOV{`4(pR~@I1^u#@;AEX%o3VUaLE5KM=&3Q_|<>#p70v={3!+ zGR*LXj4g=*=w;( zb5q5tP0EE=vypk08x^g7X*kbl`n-fEFKND@cWQd4-}eMdopV*EAoIuhWkbo&mLq(q zi4{DJ{KsocmCljs7f^9fmsLi}j#;ORhnb`1*yI^zCTUt;EDP11U+z;KES)*3aS#U2 z))!ry>T~0>-VPB1_n#&w$kwLF^XAx9QviT1cmv>H_&fajPxu3VgJ0pz=biKy_<~H3 zU<;7(4PzUU8%8&btQjLnkR-xE*lewJ5qJyWA9x!ozQYH1hy);#BmmLVM<1gJkO;TJ F`UhMdw)X%4