gestion des erreurs

master
Antoine PEREDERII 2 years ago
parent 1cb5a72c2b
commit da798d1753

@ -0,0 +1,4 @@
{
"files.autoSaveDelay": 1000,
"files.autoSave": "afterDelay"
}

29
SAE.h

@ -45,6 +45,33 @@ void modificationRespDept(VilleIUT *tiut[], int nb);
// Partie 3
// Liste Admission
ListeAdmission listenouvAdm(void);
ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat);
ListeAdmission insererAdm(ListeAdmission la, Admission candidat);
void afficherAdm(ListeAdmission la);
bool videAdm(ListeAdmission la);
ListeAdmission supprimerEnTeteAdm(ListeAdmission la);
ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat);
bool rechercheAdm(ListeAdmission la, Admission candidat);
int TeteAdm(ListeAdmission la);
int longueurAdm(ListeAdmission la);
void afficherCandidatsAdm(Admission candidat);
// Liste Departement
ListeDepartement listenouvDpt(void);
ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt);
ListeDepartement insererDpt(ListeDepartement ld, Departement dpt);
ListeDepartement supprimerEnTeteDpt(ListeDepartement ld);
ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt);
bool rechercheDpt(ListeDepartement ld, Departement dpt);
int TeteDpt(ListeDepartement ld);
bool videDpt(ListeDepartement ld);
void afficherDpt(ListeDepartement ld);
void afficherDepartement(Departement dpt);
int longueurDpt(ListeDepartement ld);
/*
Departement lireDpt(FILE *flot);
void afficherDpt(Departement dpt);
Admission lireCandidat(FILE *flot);
@ -60,7 +87,7 @@ int modifNoteMinAdmis();
int modifNbAdmisMax();
// Authentification
/*
int ConnexionUtilisateur(char *login, char *mdp);
ListeUtilisateurs chargerUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs);
Utilisateur lireUtilisateur(FILE *flot);

BIN
exe

Binary file not shown.

@ -1,9 +1,10 @@
#include "SAE.h"
Departement lireDpt(FILE *flot)
/*
Departement lireDpt(FILE *flot, Admission ListeDepartement)
{
Departement dpt;
fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat);
return dpt;
}
void afficherDpt(Departement dpt)
@ -11,12 +12,10 @@ void afficherDpt(Departement dpt)
printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat);
}
Admission lireCandidat(FILE *flot)
Admission lireCandidat(FILE *flot, ListeAdmission la)
{
Admission candidat;
Departement dpt;
int i = 0;
fscanf(flot, "%d\n", &candidat.num);
fscanf(flot, "%d\n", &la->candidat.num);
fgets(candidat.nom, 22, flot);
candidat.nom[strlen(candidat.nom) - 1] = '\0';
fgets(candidat.prenom, 22, flot);
@ -32,7 +31,7 @@ Admission lireCandidat(FILE *flot)
{
if(strcmp(dpt.departement, dptResAdmi) == 0)
{
candidat.ldept = insererDpt(candidat, dpt);
candidat.ldept = inserer(candidat, dpt);
}
dpt = lireDpt(flot);
i++;
@ -54,18 +53,17 @@ void afficherCandidats(Admission candidat)
// Regarder si le nombre de choix est = à 0 Que se passe-t-il ?
ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30])
ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAdmission la)
{
ListeAdmission listeCandidats = listeNouvCand();
Admission candidat;
FILE *flot;
listenouv();
flot=fopen(ficAdmission, "r");
if(flot == NULL)
{
printf("Erreur d'ouverture du fichier !\n");
exit(1);
}
candidat = lireCandidat(flot);
la->v = lireCandidat(flot);
while(!feof(flot))
{
listeCandidats = insererCand(listeCandidats, candidat);
@ -227,8 +225,4 @@ int modifNbAdmisMax()
scanf("%d", &nbAdmisMax);
return nbAdmisMax;
}
*/

@ -1,13 +1,15 @@
#include "SAE.h"
/*
// ListeAdmission
ListeAdmission listenouv(void)
ListeAdmission listenouvAdm(void)
{
ListeAdmission f;
f = NULL;
return f;
ListeAdmission la;
la = NULL;
return la;
}
ListeAdmission adjq(ListeAdmission f, Admission candidat)
ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat)
{
MaillonAdmission *p;
p = (MaillonAdmission *)malloc(sizeof(MaillonAdmission));
@ -17,80 +19,213 @@ ListeAdmission adjq(ListeAdmission f, Admission candidat)
exit(1);
}
p->v = candidat;
if(vide(f))
{
p->suiv = p;
return p;
}
p->suiv = f->suiv;
f->suiv = p;
p->suiv = la;
return p;
}
ListeAdmission supt(ListeAdmission f)
ListeAdmission insererAdm(ListeAdmission la, Admission candidat)
{
if(la == NULL)
return insererEnTeteAdm(f, candidat);
if(candidat.num < la->v.num)
return insererEnTeteAdm(f, candidat);
if(candidat.num > la->v.num)
return la;
la->suiv = insererAdm(la->suiv, candidat);
return la;
}
ListeAdmission supprimerEnTeteAdm(ListeAdmission la)
{
MaillonAdmission *aux;
if(vide(f))
if(videAdm(la))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
if(f->suiv == f)
{
free(f);
return Listenouv();
}
aux = f->suiv;
f->suiv = aux->suiv;
aux = la
la = la->suiv;
free(aux);
return f;
return la;
}
ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat)
{
if(videAdm(la))
return la;
if(candidat.num < la->v.num)
return la;
if(candidat.num == la->v.num)
return supprimerEnTeteAdm(la);
la->suiv = supprimerAdm(la->suiv, candidat.num);
return la;
}
bool vide(ListeAdmission f)
bool rechercherAdm(ListeAdmission la, Admission candidat)
{
return f == NULL;
if(videAdm(la))
return false;
if(candidat.num < la->v.num)
return false;
if(candidat.num == la->v.num)
return true;
return rechercherAdm(la->suiv, candidat.num);
}
Admission tete(ListeAdmission f)
int TeteAdm(ListeAdmission la)
{
if(vide(f))
if(videAdm(la))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
return f->suiv->v;
return la->v; /* Retourne un candidat
}
int longueur(ListeAdmission f)
bool videAdm(ListeAdmission la)
{
int cpt = 1;
MaillonAdmission *aux;
if(vide(f))
return la == NULL;
}
void afficherAdm(ListeAdmission la)
{
while(!videAdm(la))
{
return 0;
afficherCandidatsAdm(Tete(la));
la = la->suiv;
}
aux = f->suiv;
while(aux != f)
printf("\n");
}
int longueurAdm(ListeAdmission la)
{
int cpt = 0;
while(!vide(la))
{
cpt++;
aux = aux->suiv;
la = la->suiv;
}
return cpt;
}
void afficher(ListeAdmission f)
void afficherCandidatsAdm(Admission candidat)
{
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);
afficherDpt(candidat.ListeDepartement);
}
// ListeDepartement
ListeDepartement listenouvDpt(void)
{
ListeDepartement ld;
ld = NULL;
return ld;
}
ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt)
{
MaillonDepartement *p;
p = (MaillonDepartement *)malloc(sizeof(MaillonDepartement));
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
p->v = dpt;
p->suiv = ld;
return p;
}
ListeDepartement insererDpt(ListeDepartement ld, Departement dpt)
{
MaillonAdmission *p=f;
if(vide(f))
if(ld == NULL)
return insererEnTeteDpt(ld, dpt);
if(strcmp(dpt.departement, ld->v.departement) < 0)
return insererEnTeteDpt(ld, dpt);
if(strcmp(dpt.departement, ld->v.departement) = 0)
return ld;
ld->suiv = insererDpt(ld->suiv, dpt);
return ld;
}
ListeDepartement supprimerEnTeteDpt(ListeDepartement ld)
{
MaillonDepartement *aux;
if(videDpt(ld))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
afficherCandidats(f->v);
while(f->suiv != p)
aux = ld;
ld = ld->suiv;
free(aux);
return ld;
}
ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt)
{
if(videDpt(ld))
return ld;
if(strcmp(dpt.departement, ld->v.departement) < 0)
return ld;
if(strcmp(dpt.departement, ld->v.departement) = 0)
return supprimerEnTeteDpt(ld);
ld->suiv = supprimerDpt(ld->suiv, dpt.departement);
return ld;
}
bool rechercherDpt(ListeDepartement ld, Departement dpt)
{
if(videDpt(ld))
return false;
if(strcmp(dpt.departement, ld->v.departement) < 0)
return false;
if(strcmp(dpt.departement, ld->v.departement) = 0)
return true;
return rechercherDpt(ld->suiv, dpt.departement);
}
int TeteDpt(ListeDepartement ld)
{
if(videDpt(ld))
{
f = f->suiv;
afficherCandidats(f->v);
printf("Opérations interdites !!!!\n");
exit(1);
}
return ld->v; /* Retourne un département
}
bool videDpt(ListeDepartement ld)
{
return ld == NULL;
}
void afficherDpt(ListeDepartement ld)
{
while(!videDpt(ld))
{
afficherDepartement(TeteDpt(ld));
ld = ld->suiv;
}
printf("\n");
}
}
void afficherDepartement(Departement dpt)
{
printf("%s\t%d\t%d\t", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat);
}
int longueurDpt(ListeDepartement ld)
{
int cpt = 0;
while(!videDpt(ld))
{
cpt++;
ld = ld->suiv;
}
return cpt;
}
*/
Loading…
Cancel
Save