Beaucoup de choses.

master
Jade VAN BRABANDT 3 years ago
commit a8b54e797d

Binary file not shown.

@ -9,8 +9,7 @@
void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[])
{
int quit=0;
int ck=0;
int quit=0, ck=0, act;
while(!quit)
{
printf("#--------------------------------------------------------------------#\n");
@ -32,7 +31,6 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[]
while(!ck)
{
printf("Choisissez l'action que vous voulez exécuter : ");
int act;
if(scanf("%d",&act)) ck=1;
}
switch(act){
@ -60,7 +58,7 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[]
reset();
break;
case 6:
fonctionp4?????????();
//fonctionp4?????????();
reset();
break;
case 9:
@ -154,8 +152,7 @@ void SearchIUTFromDep(VilleIUT* lvIUT[],int tlogi)
//Partie Administrateur.
void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
int quit=0;
int ck=0;
int quit=0, ck=0, act;
while(!quit){
printf("#--------------------------------------------------------------------#\n");
printf("| |\n");
@ -166,7 +163,7 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
printf("1 : Modifier le nombre de places dans un département.\n");
printf("2 : Créer un département dans un IUT.\n");
printf("3 : Supprimer un département dun IUT.\n");
if (*CandidOpen) printf("4 : Arrêter la phase de candidature.");
if (*CandidOpen) printf("4 : Arrêter la phase de candidature.\n");
else printf("4 : Lancer la phase de candidature.");
printf("5 : Modifier le nom d'un responsable de département.\n");
printf("6 : Créer un IUT.\n");
@ -175,7 +172,6 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
while(!ck)
{
printf("Choisissez l'action que vous voulez exécuter : ");
int act;
if(scanf("%d",&act)) ck=1;
}
switch(act){
@ -195,12 +191,12 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
if(!*CandidOpen)
{
printf("Ouverture de la phase de candidature effectué !");
CandidOpen=0;
*CandidOpen=0;
}
else
{
printf("Fermeture de la phase de candidature effectué !");
CandidOpen=1;
*CandidOpen=1;
}
reset();
break;
@ -237,7 +233,7 @@ void modifPlaces(VilleIUT* tiut[],int tlogi){
return;
}
MaillonDep* m=v->ldept;
while(m->departement!=dep) m=m->suivant;
while(m->departement!=dep && m->suivant!=NULL) m=m->suivant;
printf("\n\nIl y a actuellement %d place(s) dans le département. A combien voulez-vous modifier ce nombre ?\n\n",m->nbp);
int nPlaces;
scanf("%d",&nPlaces);
@ -268,7 +264,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){
}
MaillonDep* m=v->ldept;
printf("\n\nEntrez le nom du département à créer : ");
char nomDep[31]
char nomDep[31];
scanf("%*c%s",nomDep);
if(!ck){
if(m->suivant==NULL){
@ -276,7 +272,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){
m=m->suivant;
}
}
while(strcmp(nomDep,m->suivant)>0) m=m->suivant;
while(strcmp(nomDep,m->departement)>0) m=m->suivant;
m->suivant=(MaillonDep*)malloc(sizeof(MaillonDep));
if(m->suivant==NULL){
perror("malloc");
@ -284,7 +280,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){
}
m=m->suivant;
}
m->departement=nomDep;
strcpy(m->departement,nomDep);
printf("\n\nEntrez le nombre de places disponibles dans le département : ");
scanf("%d",&m->nbp);
printf("\n\nEntrez le nom du responsable de département : \n");

@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include "../partie1/saeP1.h"
#include "../annexe/saeAnnexe.h"
#include "saeP3.h"
@ -8,7 +9,7 @@
//Partie Responsable.
void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){
int quit=0;
int quit=0, act;
while(!quit){
printf("#--------------------------------------------------------------------#\n");
printf("| |\n");
@ -18,22 +19,21 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){
printf("Codes correspondant aux différentes actions :\n\n");
printf("1 : Voir toutes les candidatures du département informatique de Clermont-Ferrand\n");
printf("2 : Procéder aux admissions\n\n");
printf("9 : Quitter\n")
printf("9 : Quitter\n");
printf("#--------------------------------------------------------------------#\n\n");
int ck=0;
while(!ck)
{
printf("Choisissez l'action que vous voulez exécuter : ");
int act;
if(scanf("%d",&act)) ck=1;
}
switch(act){
case 1:
ShowCandid(tcandidat,tlogi);
ShowCandid(tcandidat,*tlogi);
reset();
break;
case 2:
Admissions(tcandidat,tlogi);
Admissions(tcandidat,*tlogi);
reset();
break;
case 9:
@ -42,12 +42,12 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){
}
}
void RechercheVoeuIDInformatique(candidat candid)
int RechercheVoeuIDInformatique(candidat candid)
{
int ID_found=0;
for(int i=0;i<candid.nbvoeu||!found;++i)
for(int i=0;i<candid.nbchoix||!ID_found;++i)
{
if(!strcmp(candidat.TabVoeu[i].dep,"Informatique")) ID_found=i;
if(!strcmp(candid.TabVoeu[i]->dep,"Informatique")) ID_found=i;
}
return ID_found;
}
@ -57,17 +57,17 @@ void ShowCandid(candidat* tcandidat[],int tlogi)
for(int i=0;i<tlogi;++i)
{
int voeuID;
if(voeuID=RechercheVoeuIDInformatique(*tcandidat[i]))
if((voeuID=RechercheVoeuIDInformatique(*tcandidat[i])))
{
printf("Nom - Prenom : %s %s\n\
Note de mathématique : %f\n\
Note de français : %f\n\
Note d'anglais : %f\n\
Note de spécialité : %f\n\n",tcandidat[i].surname,tcandidat[i].name,\
tcandidat[i].note[0],tcandidat[i].note[1],tcandidat[i].note[2],\
tcandidat[i].note[3]);
Note de spécialité : %f\n\n",tcandidat[i]->surname,tcandidat[i]->name,\
tcandidat[i]->note[0],tcandidat[i]->note[1],tcandidat[i]->note[2],\
tcandidat[i]->note[3]);
printf("Décision département : %d\n\
Décision candidat : %d\n\n\n\n",tcandidat[i].ddep,tcandidat[i].vcand);
Décision candidat : %d\n\n\n\n",tcandidat[i]->TabVoeu[voeuID]->ddep,tcandidat[i]->TabVoeu[voeuID]->vcand);
}
}
}
@ -79,8 +79,8 @@ void Admissions(candidat* tcandidat[],int tlogi)
float coefMath, coefFr, coefEng, coefSpe;
while (!ck)
{
printf("Merci de rentrez dans l'orbre et séparé par une virgule les coefficients suivant : Mathématique Français Anglais Spécialité.\n\n");
scanf("%f %f %f %f",coefMath,coefFr,coefEng,coefSpe);
printf("Merci de rentrer dans l'ordre et séparés par un espace les coefficients suivant : Mathématique Français Anglais Spécialité.\n\n");
scanf("%f %f %f %f",&coefMath,&coefFr,&coefEng,&coefSpe);
}
//Note min
ck=0;
@ -88,7 +88,7 @@ void Admissions(candidat* tcandidat[],int tlogi)
while (!ck)
{
printf("Merci de renseignez maintenant la note minimum des candidats acceptés.\n\n");
scanf("%f",minNote);
scanf("%f",&minNote);
}
//Nb admissions max
int nbAdmisMax;
@ -96,36 +96,36 @@ void Admissions(candidat* tcandidat[],int tlogi)
while (!ck)
{
printf("Veuillez maintenant rentrer le nombre d'admis maximum");
scanf("%d",nbAdmisMax);
scanf("%d",&nbAdmisMax);
}
//Calcul
float tabNoteAdmissions;
float tabNoteAdmissions[tlogi];
for(int i=0;i<tlogi;++i)
{
float NoteAdmissions=0;
NoteAddmissions+=tcandidat[i]->note[0]*coefMath;
NoteAddmissions+=tcandidat[i]->note[1]*coefMath;
NoteAddmissions+=tcandidat[i]->note[2]*coefMath;
NoteAddmissions+=tcandidat[i]->note[3]*coefMath;
tabNoteAdmissions[i]=NoteAddmissions;
NoteAdmissions+=tcandidat[i]->note[0]*coefMath;
NoteAdmissions+=tcandidat[i]->note[1]*coefMath;
NoteAdmissions+=tcandidat[i]->note[2]*coefMath;
NoteAdmissions+=tcandidat[i]->note[3]*coefMath;
tabNoteAdmissions[i]=NoteAdmissions;
}
//Admissions
int admis=0;
int attente=0;
int tabIDCandidatAdmis;
int tabIDCandidatAttente;
int tabNoteCandidatAttente;
for(int i=0;i<tlogi&&admis=<admissionsmax;++i)
int tabIDCandidatAdmis[tlogi];
int tabIDCandidatAttente[tlogi];
int tabNoteCandidatAttente[tlogi];
for(int i=0;i<tlogi && admis<=nbAdmisMax;++i)
{
if(tabNoteAdmissions[i]>=minNote)
int voeuID;
if(tabNoteAdmissions[i]>=minNote){
//Admis
if(admis<admissionsmax)
if(admis<nbAdmisMax)
{
tabIDCandidatAdmis[admis]=tcandidat[i]->numcandid;
admis++;
voeuID=RechercheVoeuIDInformatique(*tcandidat[i]);
tcandidat[i]->TabVoeu[voeuID]=1;
tcandidat[i]->TabVoeu[voeuID]->ddep=1;
}
//Attente
else
@ -134,17 +134,18 @@ void Admissions(candidat* tcandidat[],int tlogi)
tabNoteCandidatAttente[i-admis]=tabNoteAdmissions[i];
attente++;
voeuID=RechercheVoeuIDInformatique(*tcandidat[i]);
tcandidat[i]->TabVoeu[voeuID]=2;
tcandidat[i]->TabVoeu[voeuID]->ddep=2;
}
}
//Refus
else
{
voeuID=RechercheVoeuIDInformatique(*tcandidat[i]);
tcandidat[i]->TabVoeu[voeuID]=-1;
tcandidat[i]->TabVoeu[voeuID]->ddep=-1;
}
}
//Tri alphabétique
trie_??(tabIDCandidatAdmis);
//trie_??(tabIDCandidatAdmis);------------------------------------------------------
//Tri sur la note
trie_fusion(tabNoteCandidatAttente,attente);
//Save Admis liste
@ -156,8 +157,8 @@ void Admissions(candidat* tcandidat[],int tlogi)
}
else
{
fwrite(fadmis,admis,sizeof(int),1);
fwrite(fadmis,tabIDCandidatAdmis,sizeof(int),admis);
fwrite(&admis,sizeof(int),1,fadmis);
fwrite(tabIDCandidatAdmis,sizeof(int),admis,fadmis);
}
//Save Attente liste
FILE *fattente;
@ -168,8 +169,8 @@ void Admissions(candidat* tcandidat[],int tlogi)
}
else
{
fwrite(fadmis,attente,sizeof(int),1);
fwrite(fattente,tabIDCandidatAttente,sizeof(int),attente);
fwrite(&attente,sizeof(int),1,fadmis);
fwrite(tabIDCandidatAttente,sizeof(int),attente,fattente);
}
}

@ -1,5 +1,4 @@
#include "../partie1/saeP1.h"
void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]);
void RechercheVoeuIDInformatique(candidat candid);
int RechercheVoeuIDInformatique(candidat candid);
void ShowCandid(candidat* tcandidat[],int tlogi);
void Admissions(candidat* tcandidat[],int tlogi);

@ -60,7 +60,7 @@ void Validation(candidat candid)
{
if (i==id_Choix&&candid.TabVoeu[i]->ddep==1)
{
candid.TabVoeu[i]->vcand=1
candid.TabVoeu[i]->vcand=1;
}
}
}
@ -71,7 +71,7 @@ void Recherche_Dichotomique()
}
void AffichageAdmisAlphabetique(candidat tCandidAdmis,int tlogi)
void AffichageAdmisAlphabetique(candidat* tCandidAdmis,int tlogi)
{
for(int i=0;i<tlogi;++i)
{
@ -84,6 +84,6 @@ void AffichageAdmisAlphabetique(candidat tCandidAdmis,int tlogi)
Note d'anglais : %f\n\
Note de spécialité : %f\n",tCandidAdmis[i].numcandid,tCandidAdmis[i].surname,tCandidAdmis[i].name,\
tCandidAdmis[i].note[0],tCandidAdmis[i].note[1],tCandidAdmis[i].note[2],\
tCandidAdmis[i].note[3]");
tCandidAdmis[i].note[3]);
}
}

@ -1,4 +1,4 @@
void ListeVoeuValide(candidat candid);
void Validation(candidat candid);
void Recherche_Dichotomique();
void AffichageAdmisAlphabetique();
void AffichageAdmisAlphabetique(candidat* tCandidAdmis,int tlogi);

Loading…
Cancel
Save