schedule_maker / docent.h
docent.h
Raw
#ifndef DocentHVar  // voorkom dat dit bestand meerdere keren
#define DocentHVar  // ge-include wordt

#include <vector>
#include "beschikbaarheid.h"

using namespace std;

class Docent: public Beschikbaarheid {
    private:
        // Id van de docent
        int docentId;

        // Array die bijhoudt wanneer de docent 
        // beschikbaar is om les te geven
        bool DocentBeschikbaarheid[MaxNrTijdsloten];

        // Vector met alle Id's van de vakken die de docent geeft
        vector<int> vakIds;

        // Tijdslot waarin de docent voor het laatst
        // beschikbaar is om les te geven in de week
        int laasteBeschikbaarheid;

    public:
        // Default constructor
        Docent();

        // Setter voor de Id van de docent
        void setId(int const id0);

        // Setter voor een tijdslot waarop de docent les kan geven
        void setTijdslot(int const tijdslot);

        // Voegt een Id van een vak die de docent geeft toe
        void addVakId(int const vakId);

        // Getter voor het Id van de docent
        int const getId();

        // Kijkt of de docent heeft opgegeven om les te geven op een tijdslot
        bool wilLesgeven(int const tijdslot) const;

        // Kijkt of de docent beschikbaar is op dit tijdslot
        bool isDocentBeschikbaar(int const tijdslot, int const nrUrenPerDag);

        // Kijkt of de docent op deze dag les wilt geven
        bool isDagBeschikbaar(int const dag, int const nrUrenPerDag);

        // Geeft een vector met alle Id's van de vakken
        // die de docent geeft terug
        vector<int> getVakIds();

        // Geeft het laatste tijdslot waarop 
        // de docent les kan geven terug
        int const getLaatsteBeschikbaarheid();
};

#endif