fini fonction de sauvegarde et testiut

master
Benjamin BACHELARD 2 years ago
parent 6f1130d1f7
commit bf43517eaa

@ -19,7 +19,7 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
for(j=0;j<3;j++){
for(j=0;j<tiut[i]->nbDep;j++){
if(strcmp(tiut[i]->ldept->departement, departement) == 0 && tiut[i]->ldept->AouD == 'D'){
printf("%c",tiut[i]->ldept->AouD );
printf("pb departement arret phase de candidature\n");
@ -42,12 +42,13 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
scanf("%s",departement);
printf("\nnombre de place :");
scanf("%d",&nbp);
printf("\nnom du nouveau responsable :");
printf("\nnom du responsable :");
scanf("%s",respon);
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
tiut[i]->ldept=Enfiler(tiut[i]->ldept,departement,nbp,respon);
tiut[i]->nbDep=tiut[i]->nbDep+1;
}
}
}
@ -61,6 +62,7 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
tiut[i]->ldept=suppression(tiut[i]->ldept,departement);
tiut[i]->nbDep=tiut[i]->nbDep-1;
}
}
}
@ -94,7 +96,7 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
}
}
}
affichage(tiut,n);
affichage(tiut, n);
printf("\nVoulez-vous choisir une autre fonction ? Sinon taper 0 pour valider : ");
scanf("%d%*c",&choix);
}
@ -173,6 +175,7 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
strcpy(mN->departement, departement);
mN->nbP = nbP;
strcpy(mN->resp, resp);
mN->AouD = 'A';
mN->suivant = NULL;
printf("\naa");
if (ld == NULL) {
@ -187,18 +190,61 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
}
return ld;
}
/*
VilleIUT defiler(VilleIUT V){
MaillonDept *temp;
if(testVide(V)){
printf("testVide");
return V;
}
temp=V.Ville;
V.Ville=temp->suivant;
free(temp);
if(V.Ville==NULL)
V.Idept=NULL;
return V;
}
*/
int fsauvegarde(VilleIUT *tiut[], Candidat *tcandidat[], int n, int nc, int choix, int tmax){
int i, k, j;
//Sauvegarde du fichier d'adhérents
FILE *fe;
fe=fopen("ville.don","w");
if(fe==NULL){
printf("\tPb overture fichier");
return-1;
}
for(i=0;i<n;i++){
if(i==tmax){
printf("\tPb espace");
fclose(fe);
return-2;
}
if(choix==3){
fprintf(fe,"%s %d\n",tiut[i]->ville, tiut[i]->nbDep);
while(tiut[i]->ldept!=NULL){
fprintf(fe,"%s ",tiut[i]->ldept->departement);
fprintf(fe,"%d ",tiut[i]->ldept->nbP);
fprintf(fe,"%s ",tiut[i]->ldept->resp);
fprintf(fe,"%c\n",tiut[i]->ldept->AouD);
tiut[i]->ldept = tiut[i]->ldept->suivant;
}
}
}
fclose(fe);
//Sauvegarde du fichier d'activités
FILE *fe2;
fe2=fopen("Candidat.don","w"); //Ici, le a permet d'écrire à la suite des informations précédentes dans le fichier sans les supprimer
if(fe==NULL){
printf("\tpb overture fichier");
return-1;
}
for(j=0;j<nc;j++){
if(j==tmax){
printf("\tPb espace");
fclose(fe2);
return-2;
}
if(choix==3){
fprintf(fe,"\n%d %s %s %.2f %.2f %.2f %d\n", tcandidat[i]->numero, tcandidat[i]->nom, tcandidat[i]->prenom, tcandidat[i]->note.Francais, tcandidat[i]->note.Maths, tcandidat[i]->note.Anglais, tcandidat[i]->nb_choix);
while(tiut[i]->ldept!=NULL){
fprintf(fe,"%s ",tcandidat[i]->lchoix->ville);
fprintf(fe,"%s ",tcandidat[i]->lchoix->departement);
fprintf(fe,"%d ",tcandidat[i]->lchoix->decision);
fprintf(fe,"%d\n",tcandidat[i]->lchoix->validation);
tcandidat[i]->lchoix = tcandidat[i]->lchoix->suivant;
}
}
fclose(fe2);
return 0;
}
return 0;
}

17
iut.c

@ -16,7 +16,6 @@ Booleen testVide(VilleIUT V){
//chargement Ville+iut
int chargement(VilleIUT *tiut[],int tmax){
int i = 0, j=0;
int nbDep = 0;
VilleIUT V;
MaillonDept m;
FILE *fe;
@ -25,7 +24,8 @@ int chargement(VilleIUT *tiut[],int tmax){
printf("Problème d'ouverture du fichier");
return-1;
}
V = lireVille(fe, &nbDep);
V = lireVille(fe);
while(!feof(fe)){
tiut[i] = (VilleIUT*)malloc(sizeof(VilleIUT));
@ -34,21 +34,20 @@ int chargement(VilleIUT *tiut[],int tmax){
return -3;
}
*tiut[i] = V;
for(j = 0; j < nbDep; j++){
for(j = 0; j < tiut[i]->nbDep; j++){
m = lireDep(fe);
tiut[i]->ldept = Insertion(tiut[i]->ldept, m.departement, m.nbP, m.resp, m.AouD);
}
V = lireVille(fe, &nbDep);
V = lireVille(fe);
i++;
}
fclose(fe);
return i;
}
VilleIUT lireVille(FILE *fe, int *nbDep){
VilleIUT lireVille(FILE *fe){
VilleIUT V;
V.ldept = NULL;
fscanf(fe,"%s %d", V.ville, nbDep);
fscanf(fe,"%s %d", V.ville, &V.nbDep);
return V;
}
@ -81,10 +80,10 @@ int chargement(VilleIUT *tiut[],int tmax){
return ld;
}
//affichage Ville+departement..
void affichage (VilleIUT *tiut[],int n){
void affichage (VilleIUT *tiut[],int n){
int i;
for(i=0;i<n;i++){
printf("\n%s\n", tiut[i]->ville);
printf("\n%s\t%d\n", tiut[i]->ville, tiut[i]->nbDep);
affichageListe(tiut[i]->ldept);
}
}

12
iut.h

@ -38,6 +38,7 @@ typedef struct liste{
typedef struct{
char ville[30];
int nbDep;
ListeD ldept;
}VilleIUT;
@ -51,14 +52,13 @@ typedef enum {faux,vrai}Booleen;
int recherchePlaces(VilleIUT *tiut[], int n);
//Menu administrateur :
void MenuAdministrateur(VilleIUT *tiut[],int n);
void MenuAdministrateur(VilleIUT *tiut[],int n);
ListeD suppression(ListeD ld,char *departement);
ListeD suppressionTete(ListeD ld);
ListeD Enfiler(ListeD D, char *departement, int nbP,char *resp);
ListeD ModifinbP(ListeD ld, char departement[30], int MnbP, int n);
ListeD ModifiRespon(ListeD ld, char departement[30], char respon[30], int n);
ListeD ModifiAouD(ListeD ld, char departement[30], char AouD,int n);
ListeD ModifiAouD(ListeD ld, char departement[30], char AouD, int n);
//recherche
@ -69,18 +69,18 @@ typedef enum {faux,vrai}Booleen;
Booleen testVide(VilleIUT V);
void afficher (VilleIUT V);
VilleIUT defiler(VilleIUT V);
VilleIUT lireVille(FILE *fe, int *nbDep);
MaillonDept lireDep(FILE *fe);
//chargement Ville+departement
int chargement(VilleIUT *tiut[],int tmax);
MaillonDept lireDep(FILE *fe);
VilleIUT lireVille(FILE *fe, int *nbDep);
VilleIUT lireVille(FILE *fe);
ListeD Insertion(ListeD ld, char *departement, int nbP,char *resp, char AouD);
ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp, char AouD);
void affichage (VilleIUT *tiut[],int n);
void affichageListe(ListeD ld);
// fonction de sauvegarde
int fsauvegarde(VilleIUT *tiut[], Candidat *tcandidat[], int n, int nc, int choix, int tmax);
//Candidat+choix
int chargementcandidat(Candidat *tcandidat[],int tmax);
Candidat lireCandidat(FILE *fe1, int *nbChoix);

@ -7,6 +7,7 @@
int main(){
int n, nc, codeErr, rootChoice=1, choix;
char sauv;
VilleIUT *tiut[200];
Candidat *tcandidat[200];
n=chargement(tiut ,200);
@ -28,15 +29,12 @@ int main(){
}
if(choix==2){
printf("\nMenu Administrateur");
MenuAdministrateur(tiut,n);
MenuAdministrateur(tiut, n);
}
if(choix==3){
printf("\tVoulez vous sauvegarder? (O/N) : ");
scanf("%c%*c",&sauv);
if(sauv=='O')
//codeErr = fsauvegarde(t1, t2, t3,t4,t5, tAct, tNbEntree, &n, LEN, choix);
printf(">----------------------------------------<\n\n");
printf("\tTous les fichiers sauvegardés.\n\n");
codeErr = fsauvegarde(tiut, tcandidat, n, nc, choix, 200);
printf("\tTous les fichiers sauvegardés.\n\n");
printf("\tMerci de votre visite.\n\n");
printf("\t- Fin de journée -\n\n");
printf(">----------------------------------------<\n");

@ -1,8 +1,9 @@
Grenoble 1
Grenoble 2
Informatique 112 Dupont-Jean A
Biologie 200 kiki A
Clermont 2
Informatique 136 Simon-Carine D
Biologie 120 Djojo D
Aurillac 1
Bio-Info 56 jiji A
Biologie 120 Djojo D
Aurillac 2
Informatique 10 daniel A
Bio-Info 56 jiji A

Loading…
Cancel
Save