#include #include "docent.h" using namespace std; // Default constructor die DocentBeschikbaarheid initialiseert Docent::Docent() { docentId = -1; laasteBeschikbaarheid = -1; for(int i = 0; i < MaxNrTijdsloten; i++) { DocentBeschikbaarheid[i] = false; } // De docent is nog nergens beschikbaar om les te geven } // Docent::Docent // Setter voor de Id van de docent void Docent::setId(int const id0) { docentId = id0; } // Docent::setId // Setter voor een tijdslot waarop de docent les kan geven void Docent::setTijdslot(int const tijdslot) { DocentBeschikbaarheid[tijdslot] = true; laasteBeschikbaarheid = tijdslot; } // Docent::setTijdslot // Voegt een Id van een vak die de docent geeft toe void Docent::addVakId(int const vakId) { vakIds.push_back(vakId); } // Docent::addVakId // Getter voor de Id van de docent int const Docent::getId() { return docentId; } // Docent::getId bool Docent::wilLesgeven(int const tijdslot) const { return DocentBeschikbaarheid[tijdslot]; } // Docent::wilLesgeven // Kijkt of de docent beschikbaar is op dit tijdslot bool Docent::isDocentBeschikbaar(int const tijdslot, int const nrUrenPerDag) { int const dag = tijdslot / nrUrenPerDag; // Nummer van de dag van dit tijdslot int const beginDag = dag * nrUrenPerDag; // Het eerste tijdslot van deze dag int const eindDag = beginDag + nrUrenPerDag; // Het laatste tijdslot van deze dag if (!DocentBeschikbaarheid[tijdslot]) { return false; } // Kijkt of de docent les wilt geven op dit tijdslot for(int i = beginDag; i < eindDag; i++) { if(!isTijdslotBeschikbaar(i)) { return false; } } // Kijkt of de docent nog niet les geeft op deze dag return true; } // Docent::isDocentBeschikbaar // Retourneert of op deze dag de docent beschikbaar is om les te geven bool Docent::isDagBeschikbaar(int const dag, int const nrUrenPerDag) { int const beginDag = dag * nrUrenPerDag; // Het eerste tijdslot van deze dag int const eindDag = beginDag + nrUrenPerDag; // Het laatste tijdslot van deze dag for(int i = beginDag; i < eindDag; i++) { if(DocentBeschikbaarheid[i]) { return true; } // De docent kan op deze dag lesgeven } // Loopt door de tijdsloten van deze dag return false; } // Docent::isDagBeschikbaar // Geeft een vector met alle Id's van de vakken die de docent geeft vector Docent::getVakIds() { return vakIds; } // Docent::getVakIds // Geeft het laatste tijdslot waarop de docent les kan geven terug int const Docent::getLaatsteBeschikbaarheid() { return laasteBeschikbaarheid; } // Docent::getLaatsteBeschikbaarheid