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.
193 lines
3.8 KiB
193 lines
3.8 KiB
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include "sae1-02.h"
|
|
|
|
// général
|
|
|
|
// f enregistrement
|
|
|
|
|
|
// Partie 1
|
|
|
|
|
|
void affichageVilleIUT() {
|
|
printf("%s\t%s\t%d\t%s")
|
|
}
|
|
|
|
int rechercheVille() {
|
|
|
|
}
|
|
|
|
VilleIUT lire(FILE * fe) {
|
|
VilleIUT v;
|
|
fscanf(fe, "%s", V.ville);
|
|
fscanf(fe, "%s", v.Idept->departement);
|
|
fscanf(fe, "%d", v.Idept->nbplace);
|
|
fgets(v.Idept->responsable, 31, fe);
|
|
v.Idept->responsable[strlen(v.Idept->responsable)-1] = '\0';
|
|
return v;
|
|
}
|
|
|
|
// Partie 2
|
|
|
|
/*
|
|
( beaucoup de donnée a traité n(min 10 ; max ?)*nb candidat donc faire attention )
|
|
possibilité pour le candidat pouvoir <! table = (modifier - ajouter - supp) !>
|
|
|
|
|
|
- nb candidats (général en haut du doss)
|
|
|
|
- num candidat
|
|
- nom candidat
|
|
- prénom candidat
|
|
- liste des notes (moyenne dans le sens précis -- math francais anglais et matière spé)
|
|
|<= nb choix
|
|
|=>recurrence :
|
|
|- ville
|
|
|- département
|
|
|- décision ( admis - 1 /attente 0 default /refusé -2 )
|
|
|- validation candidat ( 0 default / -1 refus de ce choix / 2 accepte )
|
|
|
|
doit venir du menu car sinon pas de transport pour la part 3,
|
|
le tableau de pointeur qui contient listcandinfo et listcand,
|
|
|
|
|
|
|
|
|
|
combien de fonctionnalité en combien de fonction ...
|
|
|
|
-charger fichier
|
|
-modifier choix
|
|
-ajouter choix
|
|
-supp choix
|
|
-afficher les infos d'un cand
|
|
-tout cand d'un dep (ordre alphabétique)
|
|
-enregistrer fichier
|
|
|
|
|
|
charger -- recup :
|
|
-nb candi
|
|
-listcandinfo
|
|
-nb choix
|
|
-listcand
|
|
|
|
j'ai deux tableau 1 avec infoetu et l'autre les choix de l'etu au meme niveau que lui
|
|
tinfoetu est tableau de pointeur sur structure
|
|
tcarteetu est tableau de pointeur sur files
|
|
|
|
|
|
quand on quitte il vide tout avec free
|
|
*/
|
|
|
|
booleen listevide(Filecartecand f){
|
|
if(f.tete==NULL){return True;}
|
|
return False;
|
|
}
|
|
|
|
Filecartecand initial(void){
|
|
Filecartecand f; f.queue=NULL; f.tete=NULL; return f;
|
|
}
|
|
|
|
Filecartecand enfiler(Filecartecand f, char Ville[], char dep[], int decision, int validation){
|
|
Mailloncartecand*m;
|
|
m=(Mailloncartecand*)malloc(sizeof(Mailloncartecand*));
|
|
if(m==NULL){printf("<! pb malloc in enfiler !>");exit(1);}
|
|
strcpy(m->Ville,Ville);
|
|
strcpy(m->dep,dep);
|
|
m->decision=decision;
|
|
m->validation=validation;
|
|
m->suivant=NULL;
|
|
if(listevide(f)){
|
|
f.tete=m;
|
|
f.queue=m;
|
|
}else{
|
|
f.queue->suivant=m;
|
|
f.queue=m;
|
|
}
|
|
return f;
|
|
}
|
|
|
|
|
|
listcandinfo lireMat(FILE *fe){
|
|
listcandinfo etu;
|
|
fscanf(fe ,"%d", &etu.numetu);
|
|
fgets(etu.numetu, 31, fe);
|
|
*(etu.numetu +(strlen(etu.numetu) - 1)) = '\0';
|
|
fgets(etu.prenometu, 31, fe);
|
|
*(etu.prenometu +(strlen(etu.prenometu) - 1)) = '\0';
|
|
fscanf(fe ,"%d %d %d %d %d", &etu.note[1], &etu.note[2], &etu.note[3], &etu.[4], &etu.choix);
|
|
return etu;
|
|
}
|
|
|
|
int chargetableaux(char nomFich[], listcandinfo *tinfoetu[], listcanddept *tcarteetu[], int Tmax){
|
|
listcandinfo a;
|
|
listcand b;
|
|
int i=0;
|
|
FILE *fe;
|
|
fe = fopen( nomFich , "r");
|
|
if(fe==NULL){printf("<! pb in chargeFmatieres to open file !>\n");return-1;}
|
|
a = lireMat(fe);
|
|
while(!feof(fe)){
|
|
if(i==Tmax){printf("<! pb in chargeFmatieres with tMat capacity !>\n");fclose(fe);return-1;}
|
|
tinfoetu[i] = (listcandinfo*)malloc(sizeof(listcandinfo));
|
|
if(table[i]==NULL){printf("<! pb in chargeFmatieres with tMat malloc !>\n");fclose(fe);return-1;}
|
|
*tinfoetu[i]= a;
|
|
a = lireMat(fe);
|
|
i++;
|
|
}
|
|
fclose(fe);
|
|
return i;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Partie 3
|
|
|
|
// Partie 4
|
|
|
|
// Général (menu et ce qui en ai relié)
|
|
|
|
questionadmin(){
|
|
printf("\nQuel numéro détudiant ?\n==>");
|
|
scanf("%d%*c", &choix);
|
|
printf("\n");
|
|
}
|
|
|
|
int menu(void){
|
|
|
|
|
|
//charger
|
|
|
|
|
|
int i=0, choix;
|
|
while(i!=1){
|
|
printf("\n\tmenu\n\n");
|
|
printf("1\tutilisateur\n");
|
|
printf("2\tadmin\n");
|
|
printf("3\tresponsable d'admission\n");
|
|
printf("\nQuel est votre choix ?\n==>");
|
|
scanf("%d%*c", &choix);
|
|
printf("\n");
|
|
if(choix==1){
|
|
}
|
|
if(choix==2){
|
|
}
|
|
if(choix==3){
|
|
}
|
|
if(choix<1 || choix>6){
|
|
printf("mauvaise saisie\n");
|
|
}
|
|
}
|
|
|
|
//enregister
|
|
|
|
return 1;
|
|
}
|