limitation de rff, lit les com de la partie precedence

master
parent c669acb10d
commit 0c2a8bd48f

BIN
SAE2

Binary file not shown.

@ -40,4 +40,5 @@ ListeDevis insert(ListeDevis l, Devis d);
ListeDevis newListeDevis(void);
int longueurMaxNomEntreprise(ListeDevis ldevis);
void afficherDevisEntreprise(Offre **tabTravaux);
void displayPrecedences(Precedence *tabP, int tlog);

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -99,7 +99,46 @@ Offre **loadOffre(void)
//---------------------------------------------------------------------------
/*-----------------precedences----------------------*/
/*--------------precedences--------------*/
// cas de gros oeuvre avx space, onn a besoin de faire un readfromFile, mais sur \n et \t
// il faut donc rajouter un parametre a RFF qui sera la chaine des char qui pourons definir la fin d'un mot avec le fgets;
// mais dcp, il faut faire des fgets 1 par 1 pour etre sur de ne pas sauter les /t
// Chargement des précédences depuis un fichier
Precedence *loadPrec(int *tmax, int *tlog)
{
printf("\n*-*-* LOADPREC *-*-*\n");
FILE *prec;
Precedence *tabP, *s;
prec=fopen("files/précédences.txt", "r");
if (prec == NULL)
{
printf("\033[0;31mErreur: \033[0mouverture de 'précédence.txt'\n");
exit(1);
}
tabP = (Precedence *)malloc((*tmax) * sizeof(Precedence));
while(!feof(prec))
{
if(*tlog==*tmax)
{
(*tmax)+=5;
s = (Precedence *)realloc(tabP, (*tmax) * sizeof(Precedence));
if (s==NULL)
{
printf("\033[0;31mErreur: \033[0mreallocation pour fichier précédence\n");
exit(1);
}
tabP = s;
}
fscanf(prec, "%s%s", tabP[*tlog-1].travauxPrec, tabP[*tlog-1].travauxSucc);
(*tlog)++;
}
fclose(prec);
return tabP;
}
// Chargement des tâches depuis un fichier pour chaque offre
Tache **loadTaches(Offre *tabTravaux[])
@ -138,38 +177,3 @@ Tache **loadTaches(Offre *tabTravaux[])
}
return tabTache;
}
/*--------------precedences--------------*/
// Chargement des précédences depuis un fichier
Precedence *loadPrec(int *tmax, int *tlog)
{
printf("\n*-*-* LOADPREC *-*-*\n");
FILE *prec;
Precedence *tabP, *s;
prec=fopen("../files/précédence.txt", "r");
if (prec == NULL)
{
printf("\033[0;31mErreur: \033[0mouverture de 'précédence.txt'\n");
exit(1);
}
tabP = (Precedence *)malloc((*tmax) * sizeof(Precedence));
while(!feof(prec))
{
if(*tlog==*tmax)
{
(*tmax)+=5;
s = (Precedence *)malloc((*tmax) * sizeof(Precedence));
if (s==NULL)
{
printf("\033[0;31mErreur: \033[0mreallocation pour fichier précédence\n");
exit(1);
}
tabP = s;
}
fscanf(prec, "%s%s", tabP[*tlog-1].travauxPrec, tabP[*tlog-1].travauxSucc);
(*tlog)++;
}
fclose(prec);
return tabP;
}

@ -2,7 +2,10 @@
int main()
{
Precedence *tabP;
Offre **tabTravaux;
int p_tmax;
int p_tlog;
tabTravaux = loadOffre();
for (int i = 0; i < TMAXTRAV; i++)
@ -12,5 +15,9 @@ int main()
minTravaux(tabTravaux);
tabP = loadPrec(&p_tmax, &p_tlog);
displayPrecedences(tabP, p_tlog);
return 0;
}

@ -222,7 +222,14 @@ void afficherDevisEntreprise(Offre **tabTravaux)
free(nomEntreprise);
}
void displayPrecedences(Precedence *tabP, int tlog)
{
printf("Liste des précédences :\n");
for (int i = 0; i < tlog; i++) {
printf("\t%s\t\t : \t%s\n", tabP[i].travauxPrec, tabP[i].travauxSucc);
}
}
// Partie 4 (à trier)

Loading…
Cancel
Save