ordonnancement

This commit is contained in:
Mylloon 2023-10-28 11:17:43 +02:00
parent 95765193a8
commit af2646e46e
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
3 changed files with 18 additions and 8 deletions

View file

@ -63,13 +63,13 @@ TODO avant rendu :
- [x] Étudie/Analyse des `RunProjet` - [x] Étudie/Analyse des `RunProjet`
- [ ] Interagis avec un `ProtoProjet` pour y mettre des tâches <!-- Comment ça ? --> - [ ] Interagis avec un `ProtoProjet` pour y mettre des tâches <!-- Comment ça ? -->
- [ ] Recommande des ordonnancements pour la suite des exécutions à venir - [x] Recommande des ordonnancements pour la suite des exécutions à venir
(ordre d'exécutions des tâches) (ordre d'exécutions des tâches)
- [x] Calcule la durée totale restante d'un projet - [x] Calcule la durée totale restante d'un projet
- [ ] Demande un salaire pour travailler - [ ] Demande un salaire pour travailler
- Méthodes - Méthodes
- [x] Surcharge de `<<` : Affiche une facturation - [x] Surcharge de `<<` : Affiche une facturation
- [ ] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement - [x] `pair<vector<int>, int> avis(const RunProjet &)` : renvoie l'ordonnancement
et la durée totale restante et la durée totale restante
#### Consultant #### Consultant

View file

@ -19,11 +19,16 @@ std::ostream &operator<<(std::ostream &out, const Consultant &data) {
} }
std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) { std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) {
// TODO const std::vector<const Tache *> taches = projet.consult_tasks();
int duree_totale = 0; int duree_totale = 0;
for (const Tache *it : projet.consult_tasks()) { for (const Tache *it : taches) {
duree_totale += it->get_duree_totale(); duree_totale += it->get_duree_totale();
} }
return std::make_pair(std::vector<int>(), duree_totale); std::vector<int> ordonnancement;
for (const Tache *it : taches) {
ordonnancement.push_back(it->unique_id);
}
return std::make_pair(ordonnancement, duree_totale);
} }

View file

@ -19,8 +19,13 @@ std::ostream &operator<<(std::ostream &out, const Expert &data) {
} }
std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) { std::pair<std::vector<int>, int> Expert::avis(const RunProjet &projet) {
// TODO const std::vector<const Tache *> taches = projet.consult_tasks();
const int duree_totale = projet.consult_tasks().front()->dureeParal(); const int duree_totale = taches.front()->dureeParal();
return std::make_pair(std::vector<int>(), duree_totale); std::vector<int> ordonnancement;
for (const Tache *it : taches) {
ordonnancement.push_back(it->unique_id);
}
return std::make_pair(ordonnancement, duree_totale);
} }