#include #include #include #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 - 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("");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("\n");return-1;} a = lireMat(fe); while(!feof(fe)){ if(i==Tmax){printf("\n");fclose(fe);return-1;} tinfoetu[i] = (listcandinfo*)malloc(sizeof(listcandinfo)); if(table[i]==NULL){printf("\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; }