#ifndef TrackHVar // voorkom dat dit bestand meerdere keren #define TrackHVar // ge-include wordt #include <vector> #include "beschikbaarheid.h" using namespace std; class Track : public Beschikbaarheid { private: // Id van de track int trackId; // Array voor hoeveel vakken de track op een dag heeft int vakkenPerDag[MaxNrDagen]; // Array voor het aantal tussenuren de track heeft op een dag int tussenuur[MaxNrDagen]; // Vector voor de id's van de vakken die de track heeft vector<int> vakIds; // Boolean die onthoudt of de track theoretisch mogelijk is bool theoretischMogelijk; public: // Reset de arrays vakkenPerDag[] en tussenuur[], // zodat er een nieuw rooster kan worden gemaakt void resetTrack(); // Default constructor Track(); // Setter voor de id van de track void setId(int const id0); // Voegt een vakId toe aan de vector met vakIds void addVak(int const vakId); // Setter voor of de track theoretisch mogelijk is void setTheoretischMogelijk(bool const theoretischMogelijk0); // Verhoogt het aantal tussenuren op deze dag void nieuwTussenuur(int const dag); // Verlaagt het aantal tussenuren op deze dag void verwijderTussenuur(int const dag); // Verhoogt het aantal ingeroosterde vakken op deze dag void nieuwVakOpDag(int const dag); // Verlaagt het aantal ingeroosterde vakken op deze dag void verwijderVakOpDag(int const dag); // Getter voor de id van de track int const getId(); // Retourneert hoeveel ingeroosterde vakken de track op deze dag heeft int const aantalVakken(int const dag); // Getter voor het aantal tussenuren op deze dag int const getTussenuren(int const dag); // Getter voor of de track theoretisch mogelijk is bool const getTheoretischMogelijk(); // Getter voor de vakId's van de track vector<int> getVakIds(); // Geeft een 'rang' terug die weergeeft hoe goed de // beschikbaarheid is in de tracks van het vak op een tijdslot int const trackBeschikbaarheid(int const tijdslot, int const nrUrenPerDag); }; #endif