|
|
|
@ -1,5 +1,32 @@
|
|
|
|
|
#include "../includes/main.h"
|
|
|
|
|
|
|
|
|
|
void afficherDetailsTache(Tache *tache)
|
|
|
|
|
{
|
|
|
|
|
if (tache != NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Nom de la tâche: %s\n", tache->tache);
|
|
|
|
|
printf("Durée: %d\n", tache->duree);
|
|
|
|
|
printf("Nombre de prédécesseurs: %d\n", tache->nbPred);
|
|
|
|
|
printf("Date de début: %d\n", tache->dateDebut);
|
|
|
|
|
printf("Traité: %s\n", (tache->traite == true) ? "Oui" : "Non");
|
|
|
|
|
|
|
|
|
|
// Afficher les successeurs si nécessaire
|
|
|
|
|
MaillonSucc *succCourant = tache->succ;
|
|
|
|
|
printf("Successeurs: ");
|
|
|
|
|
while (succCourant != NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("%s ", succCourant->tache);
|
|
|
|
|
succCourant = succCourant->nxt;
|
|
|
|
|
}
|
|
|
|
|
printf("\n\n");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
printf("La tâche est NULL.\n");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void traiterTaches(Tache *tabTache[])
|
|
|
|
|
{
|
|
|
|
|
ListeAttente file;
|
|
|
|
@ -19,11 +46,19 @@ void traiterTaches(Tache *tabTache[])
|
|
|
|
|
while (succCourant)
|
|
|
|
|
{
|
|
|
|
|
Tache *successeur = trouverTache(tabTache, TMAXTRAV, succCourant->tache);
|
|
|
|
|
successeur->dateDebut = max(successeur->dateDebut, tacheActuelle->dateDebut + tacheActuelle->duree);
|
|
|
|
|
successeur->nbPred--;
|
|
|
|
|
if (successeur->nbPred == 0)
|
|
|
|
|
enfiler(&file, successeur);
|
|
|
|
|
|
|
|
|
|
if (successeur != NULL)
|
|
|
|
|
{
|
|
|
|
|
successeur->dateDebut = max(successeur->dateDebut, tacheActuelle->dateDebut + tacheActuelle->duree);
|
|
|
|
|
successeur->nbPred--;
|
|
|
|
|
|
|
|
|
|
if (successeur->nbPred == 0)
|
|
|
|
|
enfiler(&file, successeur);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
succCourant = succCourant->nxt;
|
|
|
|
|
}
|
|
|
|
|
afficherDetailsTache(tacheActuelle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|