|
|
@ -114,6 +114,7 @@ void Admissions(candidat* tcandidat[],int tlogi)
|
|
|
|
int attente=0;
|
|
|
|
int attente=0;
|
|
|
|
int tabIDCandidatAdmis;
|
|
|
|
int tabIDCandidatAdmis;
|
|
|
|
int tabIDCandidatAttente;
|
|
|
|
int tabIDCandidatAttente;
|
|
|
|
|
|
|
|
int tabNoteCandidatAttente;
|
|
|
|
for(int i=0;i<tlogi&&admis=<admissionsmax;++i)
|
|
|
|
for(int i=0;i<tlogi&&admis=<admissionsmax;++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(tabNoteAdmissions[i]>=minNote)
|
|
|
|
if(tabNoteAdmissions[i]>=minNote)
|
|
|
@ -130,6 +131,7 @@ void Admissions(candidat* tcandidat[],int tlogi)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
tabIDCandidatAttente[i-admis]=tcandidat[i]->numcandid;
|
|
|
|
tabIDCandidatAttente[i-admis]=tcandidat[i]->numcandid;
|
|
|
|
|
|
|
|
tabNoteCandidatAttente[i-admis]=tabNoteAdmissions[i];
|
|
|
|
attente++;
|
|
|
|
attente++;
|
|
|
|
voeuID=RechercheVoeuIDInformatique(*tcandidat[i]);
|
|
|
|
voeuID=RechercheVoeuIDInformatique(*tcandidat[i]);
|
|
|
|
tcandidat[i]->TabVoeu[voeuID]=2;
|
|
|
|
tcandidat[i]->TabVoeu[voeuID]=2;
|
|
|
@ -144,7 +146,7 @@ void Admissions(candidat* tcandidat[],int tlogi)
|
|
|
|
//Tri alphabétique
|
|
|
|
//Tri alphabétique
|
|
|
|
trie_??(tabIDCandidatAdmis);
|
|
|
|
trie_??(tabIDCandidatAdmis);
|
|
|
|
//Tri sur la note
|
|
|
|
//Tri sur la note
|
|
|
|
trie_??(tabIDCandidatAttente);
|
|
|
|
trie_fusion(tabNoteCandidatAttente,attente);
|
|
|
|
//Save Admis liste
|
|
|
|
//Save Admis liste
|
|
|
|
FILE *fadmis;
|
|
|
|
FILE *fadmis;
|
|
|
|
if((fadmis=fopen("src/Database/ListeAdmisInfo.bin","wb"))==NULL)
|
|
|
|
if((fadmis=fopen("src/Database/ListeAdmisInfo.bin","wb"))==NULL)
|
|
|
@ -169,4 +171,53 @@ void Admissions(candidat* tcandidat[],int tlogi)
|
|
|
|
fwrite(fadmis,attente,sizeof(int),1);
|
|
|
|
fwrite(fadmis,attente,sizeof(int),1);
|
|
|
|
fwrite(fattente,tabIDCandidatAttente,sizeof(int),attente);
|
|
|
|
fwrite(fattente,tabIDCandidatAttente,sizeof(int),attente);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int fusion(int* tabfusion1,int tlogi1, int* tabfusion2, int tlogi2)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int retTab[tlogi1+tlogi2];
|
|
|
|
|
|
|
|
int i1=0, i2=0;
|
|
|
|
|
|
|
|
while (i1<tlogi1&&i2<tlogi2)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(tabfusion1[i1]=<tabfusion2[i2])
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
retTab[i1+i2]=tabfusion1[i1];
|
|
|
|
|
|
|
|
i1++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
retTab[i1+i2]=tabfusion2[i2];
|
|
|
|
|
|
|
|
i2++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (i1==tlogi1)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
while(i2<tlogi2)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
retTab[i1+i2]=tabfusion2[i2];
|
|
|
|
|
|
|
|
i2++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (i2==tlogi2)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
while(i1<tlogi1)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
retTab[i1+i2]=tabfusion1[i1];
|
|
|
|
|
|
|
|
i1++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return retTab;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int* tri_fusion(int* tabNote, int* tabIDCandidatAttente, int taille)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(taille==1)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return tabNote;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return fusion(tri_fusion(tabNote,tabIDCandidatAttente,taille/2),taille/2,\
|
|
|
|
|
|
|
|
tri_fusion(tabNote+taille-taille/2,tabIDCandidatAttente+taille-taille/2,taille-taille/2),taille-taille/2);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|