Sami GHEBRID 2 years ago
commit e984e0b050

@ -3,11 +3,75 @@
int chargement(VilleIUT *tiut[],int *tMax)
{
FILE *flot;
VilleIUT v;
VilleIUT *v;
MaillonDept *m;
int nb = 0, pos;
char trouve;
flot = fopen("IUT.don", "r");
if(flot == NULL)
{
printf("Problème d'ouverture du fichier\n");
return -1;
}
while(!feof(flot))
{
v = (VilleIUT *)malloc(sizeof(VilleIUT));
if(v == NULL)
{
printf("Problème allocation ville lors de la lecture du fichier\n");
return -2;
}
fscanf(flot, "%s", v->nom);
pos = recherche(tiut, nb, v->nom, &trouve);
m = (MaillonDept *)malloc(sizeof(MaillonDept));
if(m == NULL)
{
printf("Problème allocation département lors de la lecture du fichier\n");
return -3;
}
*m = lireDep(flot);
if(trouve == 'O')
{
insererDep(tiut[pos],*m);
}
else
{
m->suiv = NULL;
v->lDept = m;
tiut[nb] = v;
}
free(v);
free(m);
nb++;
}
return nb;
}
MaillonDept lireDep(FILE *flot)
{
MaillonDept m;
flot = fopen("")
fscanf(flot,"%s%d", m.dept, &m.nbP);
fgets(m.respAd,31,flot);
m.respAd[strlen(m.respAd) - 1] = '\0';
return m;
}
void afficherDep(MaillonDept m)
{
printf("%s\t%d\t%s\n", m.dept, m.nbP, m.respAd);
}
void afficherVille(VilleIUT v)
{
printf("%s\t", v.nom);
while(v.lDept != NULL)
{
afficherDep(*v.lDept);
v.lDept = v.lDept->suiv;
}
}
void globale(void)
{
int tLog, tMax = 10;
@ -19,7 +83,7 @@ void globale(void)
exit(1);
}
tLog = chargement(tiut,&tMax);
if(tLog == -1)
if(tLog < 0)
{
printf("Le programme ne peut pas fonctionner\n");
exit(1);

@ -1,4 +1,25 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <stdbool.h>
typedef struct maillonDept
{
char dept[31];
int nbP;
char respAd[31];
struct mailllonDept *suiv;
}MaillonDept,*ListeDept;
typedef struct
{
char nom[31];
ListeDept *lDept;
}VilleIUT;
int chargement(VilleIUT *tiut[],int *tMax);
MaillonDept lireDep(FILE *flot);
void afficherDep(MaillonDept m);
void globale(void);

@ -1,17 +1,52 @@
#include "Msae.h"
void clearpage(void)
{
char entre;
printf("\nappuyé sur la touche [ENTREE] pour continuer");
scanf("%*c%c", &entre);
system("clear");
}
int login(void)
{
char id,mdp[31]="mettez20svp";
int i=3;
char id,mdp[31]="mettez20svp",mdpatrouve[31];
system("clear");
printf("################################################################\n\tBienvenue!\n\n\n\tSouhaitez-vous vous connecter en tant qu'utilisateur ou administeur? (U/A)\t");
scanf("%c%*c",&id);
if(id=='q')
return -1;
while(id!='A' && id!='a' && id!='U' && id!='u')
{
printf("################################################################\n\tBienvenue!\n\n\n\tSouhaitez-vous vous connecter en tant qu'utilisateur ou administeur? (U/A)\t");
system("clear");
printf("################################################################\n\tMauvaise saisie (q pour quitter)\n\n\n\tSouhaitez-vous vous connecter en tant qu'utilisateur ou administeur? (U/A)\t");
scanf("%c%*c",&id);
if(id=='q')
return -1;
}
if(id=='A' || id=='a')
return 1;
{
while(i!=0)
{
printf("\n\n\n\tMot de passe :\t");
system("stty -echo");
fgets(mdpatrouve,31,stdin);
mdpatrouve[strlen(mdpatrouve)-1] = '\0';
if( strcmp(mdpatrouve,mdp) == 0 )
{
system("stty echo");
return 1;
}
else
{
i--;
printf("Mot de passe incorrect, il vous reste %d chances\n",i);
}
system("stty echo");
}
return -1;
}
else return 0;
system("clear");
}

@ -23,4 +23,5 @@ typedef struct
//########## fonction commune ###############
int login(void);
void globale(void);
void globale(void);
void clearpage(void);

@ -2,6 +2,8 @@
int main(void)
{
login();
int a;
a=login();
printf("%d\n",a);
return 0;
}
Loading…
Cancel
Save