Amélioration de la fonction de chargement

master
Kyllian Chabanon 2 years ago
parent f91615fc79
commit 9575c11d50

@ -1,64 +1,62 @@
#include "partie1.h"
ListeDept listenouv(void)
{
return NULL;
}
ListeDept insererEnTete(ListeDept l, char departement[], int nbP)
{
MaillonDept *m;
m = (MaillonDept *)malloc(sizeof(MaillonDept));
if (m == NULL)
{
printf("Fonction insererEnTete : problème malloc");
exit(1);
}
strcpy(m->departement, departement);
m->nbP = nbP;
m->suiv = l;
return l;
}
/*
ListeDept chargeListeDept(VilleIUT *tiut[])
{
int i = 0;
ListeDept liste = listenouv();
FILE *file = fopen("informationsIUT.don", "r");
FILE *file = fopen("informationsIUT.txt", "r");
while (!feof(file))
{
}
}
}*/
int chargementVilleIUT(VilleIUT *tiut[])
int chargementVillesIUT(VilleIUT *tiut[])
{
FILE *file = fopen("informationsIUT.don", "r");
VilleIUT villeiut;
FILE *file = fopen("informationsIUT.txt", "r");
char ville[30], dept[30], nomResp[30];
int nbP, i = 0;
int nbP, i = 0, trouve;
if (file == NULL)
{
printf("Fonction chargementVilleIUT : Problème lors de l'ouverture du fichier informations.don");
printf("Fonction chargementVillesIUT : Problème lors de l'ouverture du fichier informationsIUT.txt");
exit(-1);
}
while (!feof(file))
{
tiut[i] = (VilleIUT *)malloc(sizeof(VilleIUT));
if (tiut[i] == NULL)
fscanf(file, "%s%s%d", ville, dept, &nbP);
fgets(nomResp, 30, file);
trouve = recherche(tiut, i, ville);
if (trouve == 0)
{
printf("erreur malloc");
exit(-1);
tiut[i] = (VilleIUT *)malloc(sizeof(VilleIUT));
if (tiut[i] == NULL)
{
printf("Fonction chargementVillesIUT : Problème lors du malloc");
exit(-1);
}
strcpy(tiut[i]->ville, ville);
i++;
}
fscanf(file, "%s%s%d", tiut[i]->ville, dept, &nbP);
fgets(nomResp, 30, file);
i++;
}
fclose(file);
return i;
}
int recherche(VilleIUT *tiut[], int nb, char val[])
{
for (int i = 0; i < nb; i++)
{
if (strcmp(tiut[i]->ville, val) == 0)
{
return 1;
}
}
return 0;
}
void affichage(VilleIUT *tiut[], int nb)
{
for (int i = 0; i < nb; i++)

@ -1,13 +1,9 @@
#include <stdio.h>
#include <string.h>
#include "../structures/structures.h"
#include <stdbool.h>
#include "structures.h"
/* Fichier */
int chargementVilleIUT(VilleIUT *tiut[]);
int chargementVillesIUT(VilleIUT *tiut[]);
void affichage(VilleIUT *tiut[], int nb);
/* File */
ListeDept listenouv(void);
int recherche(VilleIUT *tiut[], int nb, char val[]);

@ -0,0 +1,21 @@
#include "partie1.h"
ListeDept listenouv(void)
{
return NULL;
}
ListeDept insererEnTete(ListeDept l, char departement[], int nbP)
{
MaillonDept *m;
m = (MaillonDept *)malloc(sizeof(MaillonDept));
if (m == NULL)
{
printf("Fonction insererEnTete : problème malloc");
exit(1);
}
strcpy(m->departement, departement);
m->nbP = nbP;
m->suiv = l;
return l;
}

@ -0,0 +1,20 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct maillonDept
{
char departement[30];
int nbP;
char resp[30];
struct maillonDept *suiv;
} MaillonDept, *ListeDept;
typedef struct
{
char ville[30];
ListeDept ldept;
} VilleIUT;
ListeDept listenouv(void);
ListeDept insererEnTete(ListeDept l, char departement[], int nbP);

@ -2,8 +2,9 @@
int main(void)
{
int nbVilles;
VilleIUT *tiut[100];
int nb = chargementVilleIUT(tiut);
affichage(tiut, nb);
nbVilles = chargementVillesIUT(tiut);
affichage(tiut, nbVilles);
return 0;
}

30
SAE.h

@ -3,21 +3,6 @@
#include <string.h>
#include <stdbool.h>
/* Partie 1
typedef struct maillonDept
{
char departement[30];
int nbP;
char resp[30];
struct maillonDept *suiv;
} MaillonDept, *ListeDept;
typedef struct
{
char ville[30];
ListeDept ldept;
} VilleIUT; */
/* Menus */
void choixMenu(void);
void menuUtilisateur(void);
@ -27,20 +12,23 @@ void menuAdministrateur(void);
/* V2 */
typedef struct {
typedef struct
{
char departement[30];
int decisionAdmission;
int decisionCandidat;
} Departement;
typedef struct maillonDepartement {
typedef struct maillonDepartement
{
Departement v;
struct maillonDepartement *suiv;
} MaillonDepartement, *ListeDepartement;
typedef struct {
typedef struct
{
int num;
char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine
char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine
char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine
int tabMatiere[4];
int nbChoix;
@ -48,7 +36,8 @@ typedef struct {
ListeDepartement ldept;
} Admission;
typedef struct maillonAdmission {
typedef struct maillonAdmission
{
Admission v;
struct maillonAdmission *suiv;
} MaillonAdmission, *ListeAdmission;
@ -67,7 +56,6 @@ ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats);
int modifNoteMinAdmis();
int modifNbAdmisMax();
/* V1
typedef struct {
int num;

Loading…
Cancel
Save