commenting my code
This commit is contained in:
parent
e2c23647a5
commit
7840f791bb
@ -1,6 +1,7 @@
|
|||||||
#include "headers/Customer.h"
|
#include "headers/Customer.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
// moet aangepast worden om een verhicle_type toe te voegen
|
||||||
Customer::Customer(int id_, string name_, string card_code_)
|
Customer::Customer(int id_, string name_, string card_code_)
|
||||||
: id { id_ }
|
: id { id_ }
|
||||||
, name { name_ }
|
, name { name_ }
|
||||||
@ -8,17 +9,22 @@ Customer::Customer(int id_, string name_, string card_code_)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
creert een park_time object met start time= nu, en voegt t toe aan een vector.
|
||||||
|
*/
|
||||||
void Customer::clock_in( int s_id)
|
void Customer::clock_in( int s_id)
|
||||||
{
|
{
|
||||||
Park_time pt{id, s_id};
|
Park_time pt{id, s_id};
|
||||||
park_instances.push_back(pt);
|
park_instances.push_back(pt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// edit de laatste park_time obj in de vector zodat de end_time = now.
|
||||||
void Customer::clock_out(int s_id){
|
void Customer::clock_out(int s_id){
|
||||||
park_instances[park_instances.size()-1].clock_out(id, s_id);
|
park_instances[park_instances.size()-1].clock_out(id, s_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// monthly report generation. moet nog een manier vinden om af te bakenen.
|
||||||
void Customer::gen_monthly(){
|
void Customer::gen_monthly(){
|
||||||
std::cout << "NAME: " << name << " card code: " << card_code << "\n";
|
std::cout << "NAME: " << name << " card code: " << card_code << "\n";
|
||||||
std::cout << "-------------------------------------------------\n";
|
std::cout << "-------------------------------------------------\n";
|
||||||
|
@ -6,6 +6,7 @@ Park_spot::Park_spot(int id_){
|
|||||||
taken = false;
|
taken = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clock in en out, calls de juist(in/out) van de customer aan de hand van internal state van taken
|
||||||
void Park_spot::clock(Customer* c_customer){
|
void Park_spot::clock(Customer* c_customer){
|
||||||
if (!taken){
|
if (!taken){
|
||||||
parked = c_customer;
|
parked = c_customer;
|
||||||
|
@ -9,11 +9,24 @@
|
|||||||
using std::vector;
|
using std::vector;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
|
// 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,
|
||||||
|
"medium" = 2,
|
||||||
|
"large" = 3,
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
db repr of Customer
|
db repr of Customer
|
||||||
int id (not null, auto increment)
|
int id (not null, auto increment)
|
||||||
string name (not nulll)
|
string name (not nulll)
|
||||||
string card_code (not null)
|
string card_code (not null)
|
||||||
|
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
|
||||||
|
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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -26,9 +39,10 @@ public:
|
|||||||
void clock_out(int s_id);
|
void clock_out(int s_id);
|
||||||
// void gen_weekly(); TODO: this
|
// void gen_weekly(); TODO: this
|
||||||
void gen_monthly();
|
void gen_monthly();
|
||||||
Customer(int id_, string name_, string card_code_);
|
Customer(int id_, string name_);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Verhicle_type verhicle;
|
||||||
vector<Park_time> park_instances;
|
vector<Park_time> park_instances;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,6 +6,8 @@ db representation:
|
|||||||
int id not null
|
int id not null
|
||||||
bool taken not null
|
bool taken not null
|
||||||
int customer_id (null) (many to one, foreign key, whatever)
|
int customer_id (null) (many to one, foreign key, whatever)
|
||||||
|
|
||||||
|
Dit representeert een parkeerplaats. Het heeft als internal state alleen dat t bezet is of niet.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class Park_spot {
|
class Park_spot {
|
||||||
|
@ -16,6 +16,9 @@ int spot_id (not null, many to one or something like that)
|
|||||||
int duration
|
int duration
|
||||||
datetime start (not null)
|
datetime start (not null)
|
||||||
datetime end
|
datetime end
|
||||||
|
|
||||||
|
Dit is gewoon een record van hoe lang, wie en waar iemand parkeert. Basically, een component van
|
||||||
|
de internal state van customer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class Park_time {
|
class Park_time {
|
||||||
|
27
main.cpp
27
main.cpp
@ -3,23 +3,42 @@
|
|||||||
#include <thread> // to make pausing work, not sure if i need chrono, or this, or both
|
#include <thread> // to make pausing work, not sure if i need chrono, or this, or both
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Code strucure like this:
|
||||||
|
als class declarations in /headers/class_naam.h, en definitions van de member objects 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)
|
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;
|
using std::cout;
|
||||||
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
std::vector<Park_spot> spots {
|
std::vector<Park_spot> spots {
|
||||||
1, 2, 3, 4, 5
|
1, 2, 3, 4, 5
|
||||||
};
|
};
|
||||||
std::vector<Customer> customers {
|
std::vector<Customer> customers {
|
||||||
{ 1, "Sagar Ram", "eddgh" },
|
{ 1, "Sagar Ram" },
|
||||||
{ 2, "Shaq", "wsdfwefgv" },
|
{ 2, "Shaq" },
|
||||||
{ 3, "Josh", "WDFGWEF" },
|
{ 3, "Josh" },
|
||||||
{ 4, "Stefano", "EDGGERG" }
|
{ 4, "Stefano" }
|
||||||
};
|
};
|
||||||
|
|
||||||
spots[1].clock(&customers[3]); // stefano parks at spot 2
|
spots[1].clock(&customers[3]); // stefano parks at spot 2
|
||||||
|
Loading…
Reference in New Issue
Block a user