fini parti 1 admi et debut parti 2

master
Benjamin BACHELARD 2 years ago
parent b4801bc7fb
commit 7069392e53

@ -4,20 +4,33 @@
#include "iut.h"
void MenuAdministrateur(VilleIUT *tiut[],int n){
char departement[30],respon[30],Vmodif[31];
int choix,nbp,i,comp,Mnbp;
char departement[30], respon[30], Vmodif[31],tVille[31], tdepartemnt[30], AouD;
int choix, nbp, i, j, comp, Mnbp, BloqueChangV, BloqueChangD;
VilleIUT V;
printf("\n1-Modifier place\n2-Creer un departement\n3-supprimer un département\n4-Lancer et Arreter la phase de canditature\n5-modifier nom responsable :");
printf("\n0-Revenir au menu\n1-Modifier place\n2-Creer un departement\n3-supprimer un département\n4-Lancer et Arreter la phase de canditature\n5-modifier nom responsable :");
scanf("\n%d",&choix);
if(choix==0){
system("cls"); // pour Windows
system("clear"); // pour Unix
printf("\n0-Revenir au menu\n1-Modifier place\n2-Creer un departement\n3-supprimer un département\n4-Lancer et Arreter la phase de canditature\n5-modifier nom responsable :");
scanf("\n%d",&choix);
}
if(choix==1){
printf("\nVille où se situe le departement à modifier :");
scanf("%s",Vmodif);
printf("\ndepartement à modifier:");
scanf("%s",departement);
for(j=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
(strcmp(tiut[i]->ldept->departement, departement) == 0 && tiut[i]->ldept->AouD == 'D');
printf("pb departement arret phase de candidature");
choix=0;
}
}
printf("\nnombre de place apres modification :");
scanf("%d",&Mnbp);
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
@ -34,9 +47,8 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
scanf("%s",departement);
printf("\nnombre de place :");
scanf("%d",&nbp);
printf("\nnom du responsable :");
printf("\nnom du nouveau responsable :");
scanf("%s",respon);
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
@ -46,36 +58,67 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
}
if(choix==3){
//supprimer departement et pauser condition pour choisir qui suppr
printf("\nVille où se situe le departement :");
scanf("%s",Vmodif);
printf("\ndepartement :");
scanf("%s",departement);
printf("\nresponsable :");
scanf("%s",respon);
// *resultat=recherche(V.Ville,departement,respon);
//m=suppression(m,departement,respon);
affichage(tiut, n);
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
tiut[i]->ldept=suppression(tiut[i]->ldept,departement);
}
}
}
if(choix==4){
//Lancer et arreter phase de canditature
printf("\nVille où se situe le departement :");
scanf("%s",Vmodif);
printf("\ndepartement :");
scanf("%s",departement);
printf("\nPour Activer taper A pour desactiver taper D :");
scanf("%c",&AouD);
for(i=0;i<n;i++){
comp=strcmp(tiut[i]->ville, Vmodif);
if(comp==0){
tiut[i]->ldept=ModifiAouD(tiut[i]->ldept,departement,AouD,n);
}
}
}
if(choix==5){
//modification responsable
printf("\nVille où se situe le departement à modifier :");
scanf("%s",Vmodif);
printf("\ndepartement à modifier:");
scanf("%s",departement);
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=ModifiRespon(tiut[i]->ldept,departement,respon,n);
}
}
}
affichage(tiut,n);
}
ListeD suppressionTete(ListeD ld){
ListeD ldsvt;
ldsvt=ld->suivant;
free(ld);
return ldsvt;
}
ListeD suppression(ListeD ld,char *departement,char *responsable){
}
ListeD suppression(ListeD ld,char *departement){
if(ld==NULL)
return ld;
if(strcmp(ld->departement,departement) ==0 && strcmp(ld->resp,responsable) ==0)
if(strcmp(ld->departement,departement) ==0 )
return suppressionTete(ld);
ld->suivant=suppression(ld->suivant,departement,responsable);
ld->suivant=suppression(ld->suivant,departement);
return ld;
}
@ -95,8 +138,38 @@ ListeD ModifinbP(ListeD ld, char departement[30], int MnbP, int n){
}
return ld;
}
ListeD ModifiRespon(ListeD ld, char departement[30], char respon[30], int n){
int comp,trouv,i;
for(i=0;i<=n;i++){
comp=strcmp(ld->departement,departement);
if(comp==0)
trouv=i;
}
if(trouv==0){
printf("departement non existant");
exit(1);
}
else{
strcpy(ld->resp, respon);
}
return ld;
}
ListeD ModifiAouD(ListeD ld, char departement[30], char AouD,int n){
int comp,trouv,i;
for(i=0;i<=n;i++){
comp=strcmp(ld->departement,departement);
if(comp==0)
trouv=i;
}
if(trouv==0){
printf("departement non existant");
exit(1);
}
else{
ld->AouD = AouD;
}
return ld;
}
ListeD Enfiler(ListeD ld, char departement[30], int nbP, char resp[30]) {
MaillonDept *mN;

18
iut.c

@ -37,7 +37,7 @@ int chargement(VilleIUT *tiut[],int tmax){
for(j = 0; j < nbDep; j++){
m = lireDep(fe);
tiut[i]->ldept = Insertion(tiut[i]->ldept, m.departement, m.nbP, m.resp);
tiut[i]->ldept = Insertion(tiut[i]->ldept, m.departement, m.nbP, m.resp, m.AouD);
}
V = lireVille(fe, &nbDep);
i++;
@ -55,11 +55,11 @@ VilleIUT lireVille(FILE *fe, int *nbDep){
MaillonDept lireDep(FILE *fe){
MaillonDept m;
fscanf(fe,"%s %d %s", m.departement, &m.nbP, m.resp);
fscanf(fe,"%s %d %s %c", m.departement, &m.nbP, m.resp, &m.AouD);
return m;
}
ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp){
ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp, char AouD){
MaillonDept *m;
m = (MaillonDept*)malloc(sizeof(MaillonDept));
if(m==NULL){
@ -68,16 +68,17 @@ ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp){
strcpy(m->departement, departement);
m->nbP = nbP;
strcpy(m->resp, resp);
m->AouD = AouD;
m->suivant = ld;
return m;
}
ListeD Insertion(ListeD ld, char *departement, int nbP,char *resp){
ListeD Insertion(ListeD ld, char *departement, int nbP,char *resp, char AouD){
if(ld==NULL)
return InsertionTete(ld, departement, nbP, resp);
return InsertionTete(ld, departement, nbP, resp, AouD);
if(strcmp(ld->departement, departement)<0)
return InsertionTete(ld, departement, nbP, resp);
ld->suivant = Insertion(ld->suivant, departement, nbP, resp);
return InsertionTete(ld, departement, nbP, resp, AouD);
ld->suivant = Insertion(ld->suivant, departement, nbP, resp, AouD);
return ld;
}
@ -96,6 +97,7 @@ void affichageListe(ListeD ld){
while(ld!=NULL){
printf("%s\t",ld->departement);
printf("%d\t",ld->nbP);
printf("%s\n",ld->resp);
printf("%s\t",ld->resp);
printf("%c\n",ld->AouD);
ld = ld->suivant;}
}

28
iut.h

@ -1,11 +1,28 @@
#include <stdio.h>
/**/
/*
typedef struct {
int numero;
char nom[50];
char prenom[50];
int notes[4];
int nb_choix;
} Candidat;
// Structure pour stocker les informations sur un choix d'un candidat
typedef struct {
char ville[50];
char departement[50];
int decision;
int validation;
} Choix;
*/
typedef struct liste{
char departement[30];
int nbP;
char resp[30];
char AouD;
struct liste *suivant;
}MaillonDept, *ListeD;
@ -26,10 +43,13 @@ typedef enum {faux,vrai}Booleen;
void MenuAdministrateur(VilleIUT *tiut[],int n);
ListeD suppression(ListeD ld,char *departement,char *responsable);
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);
//recherche
//MaillonDept recherche (MaillonDept *Ville,char *departement,char *responsable);
@ -46,5 +66,5 @@ typedef enum {faux,vrai}Booleen;
void affichage (VilleIUT *tiut[],int n);
void affichageListe(ListeD ld);
ListeD Insertion(ListeD ld, char *departement, int nbP,char *resp);
ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp);
ListeD Insertion(ListeD ld, char *departement, int nbP,char *resp, char AouD);
ListeD InsertionTete(ListeD ld, char *departement, int nbP,char *resp, char AouD);

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

Loading…
Cancel
Save