Améliorations

master
Kyllian Chabanon 2 years ago
parent 9575c11d50
commit e90dca3022

@ -0,0 +1,130 @@
#include "partie1.h"
void choixMenu(void)
{
int choix;
bool c = false;
while (c == false)
{
system("clear");
printf("Veuillez choisir votre menu :\n");
printf("\t1 - Menu utilisateur\n");
printf("\t2 - Menu administrateur\n");
printf("\t9 - Quitter\n");
printf("\nChoix : ");
scanf("%d", &choix);
switch (choix)
{
case 1:
c = true;
menuUtilisateur();
break;
case 2:
c = true;
menuAdministrateur();
break;
case 9:
c = true;
break;
default:
printf("Option non reconnue. Veuillez recommencer.\n");
break;
}
}
}
void menuUtilisateur(void)
{
int choix;
bool c = false;
while (c == false)
{
system("clear");
printf("Menu d'utilisateur : Que voulez-vous faire ?\n");
printf("\t1 - Voir les villes possédant un IUT\n");
printf("\t2 - Voir les départements dans chaque IUT\n");
printf("\t3 - Voir le nombre de places en première année\n");
printf("\t4 - Voir les IUT possédant un département particulier\n");
printf("\t9 - Quitter\n");
printf("\nChoix : ");
scanf("%d", &choix);
switch (choix)
{
case 1:
c = true;
// affichageVillesIUT(VilleIUT *tiut[], int nb);
break;
case 2:
c = true;
// affichageDeptIUT(VilleIUT *tiut[], int nb);
break;
case 3:
c = true;
//
break;
case 4:
c = true;
//
break;
case 9:
c = true;
return choixMenu();
default:
printf("Option non reconnue. Veuillez recommencer.\n");
break;
}
}
}
void menuAdministrateur(void)
{
int choix;
bool c = false;
while (c == false)
{
system("clear");
printf("Menu d'administrateur : Que voulez-vous faire ?\n");
printf("\t1 - Modifier le nombre de places dans un département\n");
printf("\t2 - Créer un département dans un IUT\n");
printf("\t3 - Supprimer un département d'un IUT\n");
printf("\t4 - Lancer la phase de candidature\n");
printf("\t5 - Stopper la phase de candidature\n");
printf("\t6 - Modifier le responsable d'un département\n");
printf("\t9 - Quitter\n");
printf("\nChoix : ");
scanf("%d", &choix);
switch (choix)
{
case 1:
c = true;
//
break;
case 2:
c = true;
//
break;
case 3:
c = true;
//
break;
case 4:
c = true;
//
break;
case 5:
c = true;
//
break;
case 6:
c = true;
//
break;
case 9:
return choixMenu();
break;
default:
printf("Option non reconnue. Veuillez recommencer.\n");
break;
}
}
}

@ -0,0 +1,5 @@
#include <stdio.h>
void choixMenu(void);
void menuUtilisateur(void);
void menuAdministrateur(void);

@ -14,8 +14,8 @@ ListeDept chargeListeDept(VilleIUT *tiut[])
int chargementVillesIUT(VilleIUT *tiut[])
{
FILE *file = fopen("informationsIUT.txt", "r");
char ville[30], dept[30], nomResp[30];
int nbP, i = 0, trouve;
char ville[30], dept[30], resp[30];
int nbP, i = 0, trouve, insertPos;
if (file == NULL)
{
printf("Fonction chargementVillesIUT : Problème lors de l'ouverture du fichier informationsIUT.txt");
@ -25,8 +25,9 @@ int chargementVillesIUT(VilleIUT *tiut[])
while (!feof(file))
{
fscanf(file, "%s%s%d", ville, dept, &nbP);
fgets(nomResp, 30, file);
trouve = recherche(tiut, i, ville);
fgets(resp, 30, file);
insertPos = recherche(tiut, i, ville, &trouve);
if (trouve == 0)
{
tiut[i] = (VilleIUT *)malloc(sizeof(VilleIUT));
@ -35,32 +36,52 @@ int chargementVillesIUT(VilleIUT *tiut[])
printf("Fonction chargementVillesIUT : Problème lors du malloc");
exit(-1);
}
strcpy(tiut[i]->ville, ville);
tiut[i]->ldept = listenouv();
tiut[i]->ldept = inserer(tiut[i]->ldept, dept, nbP, resp);
i++;
}
else
{
tiut[insertPos]->ldept = inserer(tiut[insertPos]->ldept, dept, nbP, resp);
}
}
fclose(file);
return i;
}
int recherche(VilleIUT *tiut[], int nb, char val[])
int recherche(VilleIUT *tiut[], int nb, char val[], int *trouve)
{
for (int i = 0; i < nb; i++)
int i;
for (i = 0; i < nb; i++)
{
if (strcmp(tiut[i]->ville, val) == 0)
{
return 1;
*trouve = 1;
return i;
}
}
return 0;
*trouve = 0;
return i;
}
void affichage(VilleIUT *tiut[], int nb)
void affichageVillesIUT(VilleIUT *tiut[], int nb)
{
printf("Voici les villes qui ont un IUT :\n");
for (int i = 0; i < nb; i++)
{
printf("%s\n", tiut[i]->ville);
printf("\t%s\n", tiut[i]->ville);
}
}
void affichageDeptIUT(VilleIUT *tiut[], int nb)
{
printf("Voici les départements présents dans chaque IUT :\n");
for (int i = 0; i < nb; i++)
{
printf("\t%s :\n", tiut[i]->ville);
afficherDept(tiut[i]->ldept);
}
}

@ -2,8 +2,12 @@
#include <string.h>
#include <stdbool.h>
#include "structures.h"
#include "menus.h"
/* Fichier */
int chargementVillesIUT(VilleIUT *tiut[]);
void affichage(VilleIUT *tiut[], int nb);
int recherche(VilleIUT *tiut[], int nb, char val[]);
int recherche(VilleIUT *tiut[], int nb, char val[], int *trouve);
void affichageVillesIUT(VilleIUT *tiut[], int nb);
void affichageDeptIUT(VilleIUT *tiut[], int nb);

@ -2,10 +2,12 @@
ListeDept listenouv(void)
{
return NULL;
ListeDept l;
l = NULL;
return l;
}
ListeDept insererEnTete(ListeDept l, char departement[], int nbP)
ListeDept insererEnTete(ListeDept l, char departement[], int nbP, char resp[])
{
MaillonDept *m;
m = (MaillonDept *)malloc(sizeof(MaillonDept));
@ -16,6 +18,52 @@ ListeDept insererEnTete(ListeDept l, char departement[], int nbP)
}
strcpy(m->departement, departement);
m->nbP = nbP;
strcpy(m->resp, resp);
m->suiv = l;
return m;
}
ListeDept inserer(ListeDept l, char departement[], int nbP, char resp[])
{
if (l == NULL)
{
return insererEnTete(l, departement, nbP, resp);
}
if (strcmp(departement, l->departement) < 0)
{
return insererEnTete(l, departement, nbP, resp);
}
if (departement == l->departement)
{
return l;
}
l->suiv = inserer(l->suiv, departement, nbP, resp);
return l;
}
void afficher(ListeDept l)
{
if (vide(l))
{
printf("\n");
return;
}
printf("%s\t%d\t%s\n", l->departement, l->nbP, l->resp);
afficher(l->suiv);
}
void afficherDept(ListeDept l)
{
if (vide(l))
{
printf("\n");
return;
}
printf("\t\t%s\n", l->departement);
afficherDept(l->suiv);
}
bool vide(ListeDept l)
{
return l == NULL;
}

@ -17,4 +17,8 @@ typedef struct
} VilleIUT;
ListeDept listenouv(void);
ListeDept insererEnTete(ListeDept l, char departement[], int nbP);
ListeDept insererEnTete(ListeDept l, char departement[], int nbP, char resp[]);
ListeDept inserer(ListeDept l, char departement[], int nbP, char resp[]);
void afficher(ListeDept l);
bool vide(ListeDept l);
void afficherDept(ListeDept l);

@ -5,6 +5,8 @@ int main(void)
int nbVilles;
VilleIUT *tiut[100];
nbVilles = chargementVillesIUT(tiut);
affichage(tiut, nbVilles);
//affichageVillesIUT(tiut, nbVilles);
affichageDeptIUT(tiut, nbVilles);
return 0;
}

Loading…
Cancel
Save