You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
3.4 KiB
171 lines
3.4 KiB
#include "../SAE.h"
|
|
|
|
Admission lire(FILE *ficAdmission)
|
|
{
|
|
Admission candidat;
|
|
int i;
|
|
int nbCandidats = 0;
|
|
fscanf(ficAdmission, "%d\n%d\t", &nbCandidats, &candidat.num);
|
|
fgets(candidat.nom, 22, ficAdmission);
|
|
candidat.nom[strlen(candidat.nom) - 1] = '\0';
|
|
fgets(candidat.prenom, 22, ficAdmission);
|
|
candidat.prenom[strlen(candidat.prenom) - 1] = '\0';
|
|
fscanf(ficAdmission, "%d\t%d\t%d\t%d\t%d\t%s\t", &candidat.noteMaths, &candidat.noteFrançais, &candidat.noteAnglais, &candidat.noteSpe, &candidat.nbChoix, candidat.ville);
|
|
if(candidat.nbChoix == 1)
|
|
for(i = 0; i < candidat.nbChoix; i++)
|
|
{
|
|
fscanf(ficAdmission, "%s\t%d\t%d\t", candidat.departement, &candidat.decisionAdmission, &candidat.decisionCandidat);
|
|
}
|
|
return candidat;
|
|
}
|
|
// REGARDER QUE CA TRIE LE BON DEPARTEMENT !!!!
|
|
|
|
void afficherCandidats(Admission candidat)
|
|
{
|
|
int i;
|
|
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.noteMaths, candidat.noteFrançais, candidat.noteAnglais, candidat.noteSpe, candidat.nbChoix, candidat.ville);
|
|
for(i = 0; i < candidat.nbChoix; i++)
|
|
{
|
|
printf("\t%s\t%d\t%d", candidat.departement, candidat.decisionAdmission, candidat.decisionCandidat);
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
FileAdmission filenouv(void)
|
|
{
|
|
FileAdmission f;
|
|
f = NULL;
|
|
return f;
|
|
}
|
|
|
|
FileAdmission adjq(FileAdmission f, Admission candidat)
|
|
{
|
|
MaillonAdmission *p;
|
|
p = (MaillonAdmission *)malloc(sizeof(MaillonAdmission));
|
|
if(p == NULL)
|
|
{
|
|
printf("Opérations interdites !!!!\n");
|
|
exit(1);
|
|
}
|
|
p->v = candidat;
|
|
if(vide(f))
|
|
{
|
|
p->suiv = p;
|
|
return p;
|
|
}
|
|
p->suiv = f->suiv;
|
|
f->suiv = p;
|
|
return p;
|
|
}
|
|
|
|
FileAdmission supt(FileAdmission f)
|
|
{
|
|
MaillonAdmission *aux;
|
|
if(vide(f))
|
|
{
|
|
printf("Opérations interdites !!!!\n");
|
|
exit(1);
|
|
}
|
|
if(f->suiv == f)
|
|
{
|
|
free(f);
|
|
return filenouv();
|
|
}
|
|
aux = f->suiv;
|
|
f->suiv = aux->suiv;
|
|
free(aux);
|
|
return f;
|
|
}
|
|
|
|
bool vide(FileAdmission f)
|
|
{
|
|
return f == NULL;
|
|
}
|
|
|
|
Admission tete(FileAdmission f)
|
|
{
|
|
if(vide(f))
|
|
{
|
|
printf("Opérations interdites !!!!\n");
|
|
exit(1);
|
|
}
|
|
return f->suiv->v;
|
|
}
|
|
|
|
int longueur(FileAdmission f)
|
|
{
|
|
int cpt = 1;
|
|
MaillonAdmission *aux;
|
|
if(vide(f))
|
|
{
|
|
return 0;
|
|
}
|
|
aux = f->suiv;
|
|
while(aux != f)
|
|
{
|
|
cpt++;
|
|
aux = aux->suiv;
|
|
}
|
|
return cpt;
|
|
}
|
|
|
|
void afficher(FileAdmission f)
|
|
{
|
|
MaillonAdmission *p=f;
|
|
if(vide(f))
|
|
{
|
|
printf("Opérations interdites !!!!\n");
|
|
exit(1);
|
|
}
|
|
afficherCandidats(f->v);
|
|
while(f->suiv != p)
|
|
{
|
|
f = f->suiv;
|
|
afficherCandidats(f->v);
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int modifNoteMinAdmis()
|
|
{
|
|
int noteMaths, noteFrançais, noteAnglais, noteSpe;
|
|
printf("Entrez la nouvelle note minimale d'admission en maths : ");
|
|
scanf("%d", ¬eMaths);
|
|
printf("Entrez la nouvelle note minimale d'admission en français : ");
|
|
scanf("%d", ¬eFrançais);
|
|
printf("Entrez la nouvelle note minimale d'admission en anglais : ");
|
|
scanf("%d", ¬eAnglais);
|
|
printf("Entrez la nouvelle note minimale d'admission en spécialité : ");
|
|
scanf("%d", ¬eSpe);
|
|
|
|
}
|
|
|
|
modifNbAdmisMax()
|
|
{
|
|
int nbAdmisMax;
|
|
printf("Entrez le nouveau nombre d'admis maximum : ");
|
|
scanf("%d", &nbAdmisMax);
|
|
return nbAdmisMax;
|
|
}
|
|
|
|
|
|
|
|
|
|
|