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

#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", &noteMaths);
printf("Entrez la nouvelle note minimale d'admission en français : ");
scanf("%d", &noteFrançais);
printf("Entrez la nouvelle note minimale d'admission en anglais : ");
scanf("%d", &noteAnglais);
printf("Entrez la nouvelle note minimale d'admission en spécialité : ");
scanf("%d", &noteSpe);
}
modifNbAdmisMax()
{
int nbAdmisMax;
printf("Entrez le nouveau nombre d'admis maximum : ");
scanf("%d", &nbAdmisMax);
return nbAdmisMax;
}