Parkmanne/main.cpp
2019-06-24 21:42:08 -03:00

75 lines
2.4 KiB
C++

#include "headers/Park_spot.h"
#include "headers/db.h"
#include <iostream>
#include <thread> // to make pausing work, not sure if i need chrono, or this, or both
#include <vector>
/*
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.
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.
De client clockt in en uit bij een spot.
*/
void Wait(int sec)
/*
a wait function where 1 sec represents 1 hour irl.
*/
{
std::this_thread::sleep_for(seconds{sec});
}
using std::cout;
int main() {
std::vector<Park_spot> spots{1, 2, 3, 4, 5};
std::vector<Customer> 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[2].clock(&customers[1]); // shaq clocks out at spot 3
// Wait(4);
// spots[2].clock(&customers[1]); // shaq clocks out at spot 2
/*
so:
stefan parked for 3 secs
josh parked for 17 secs
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();
// test
sqlite3* db;
data::open_db(db);
data::initialize_db(db);
sqlite3_close(db);
}