You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
5.7 KiB

/*#include "SAE.h"
int ConnexionUtilisateur(void)
{
char nomUtilisateur[9], motDePasse[11], typeUtilisateur[9];
printf("Veuillez entrer votre nom d'utilisateur : ");
scanf("%s", &nomUtilisateur);
while(strlen(nomUtilisateur) != 8)
{
printf("Nom d'utilisateur incorrect. Veuillez recommencer : ");
scanf("%s", &nomUtilisateur);
}
printf("Veuillez entrer votre mot de passe : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
while(strlen(motDePasse) != 10)
{
printf("Mot de passe incorrect. Veuillez recommencer : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
}
printf("Connexion réussie en tant qu%s!\n", typeUtilisateur);
if(typeUtilisateur == "Admin")
{
return 1;
}
else if(typeUtilisateur == "RespAdm")
{
return 2;
}
else if(typeUtilisateur == "RespDept")
{
return 3;
}
}
ListeUtilisateurs chargeUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs)
{
FILE *flot;
Utilisateur utilisateur;
flot = fopen(ficUtilisateurs, "rb");
if(flot == NULL)
{
printf("Erreur lors de l'ouverture du fichier %s\n", ficUtilisateurs);
return 0;
}
utilisateur = lireUtilisateur(flot);
while(!feof(flot))
{
Utilisateurs = insererUtilisateur(Utilisateurs, utilisateur);
utilisateur = lireUtilisateur(flot);
}
fclose(flot);
return Utilisateur;
}
Utilisateur lireUtilisateur(FILE *flot)
{
Utilisateur utilisateur;
fread(&utilisateur, sizeof(Utilisateur), 1, flot);
return utilisateur;
}
void afficherUtilisateur(Utilisateur utilisateur)
{
printf("%s\t%s\n", utilisateur.nomUtilisateur, utilisateur.motDePasse);
}
void afficherUtilisateurs(ListeUtilisateurs Utilisateurs)
{
while(! videUtilisateurs(Utilisateurs))
{
afficherUtilisateur(Utilisateurs->utilisateur);
Utilisateurs = Utilisateurs->suiv;
}
printf("\n");
}
ListeUtilisateurs insererUtilisateur(ListeUtilisateurs Utilisateurs, Utilisateur utilisateur)
{
ListeUtilisateurs p;
p = (ListeUtilisateurs)malloc(sizeof(MaillonUtilisateur));
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
p->utilisateur = utilisateur;
p->suiv = Utilisateurs;
return p;
}
ListeUtilisateurs supprimerUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
ListeUtilisateurs p, q;
if(videUtilisateurs(Utilisateurs))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
p = Utilisateurs;
Utilisateurs = Utilisateurs->suiv;
free(p);
return Utilisateurs;
}
q = Utilisateurs;
p = Utilisateurs->suiv;
while(p != NULL && strcmp(p->utilisateur.nomUtilisateur, nomUtilisateur) != 0)
{
q = p;
p = p->suiv;
}
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
q->suiv = p->suiv;
free(p);
return Utilisateurs;
}
int videUtilisateurs(ListeUtilisateurs Utilisateurs)
{
return Utilisateurs == NULL;
}
void sauveUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs)
{
FILE *flot;
flot = fopen(ficUtilisateurs, "wb");
if(flot == NULL)
{
printf("Erreur lors de l'ouverture du fichier %s\n", ficUtilisateurs);
return;
}
fprintf(flot, "%d\n", nbUtilisateurs);
while(! videUtilisateurs(Utilisateurs))
{
fwrite(&Utilisateurs->utilisateur, sizeof(Utilisateur), 1, flot);
Utilisateurs = Utilisateurs->suiv;
}
fclose(flot);
}
int rechercheUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
while(! videUtilisateurs(Utilisateurs))
{
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
return 1;
}
Utilisateurs = Utilisateurs->suiv;
}
return 0;
}
int supprimerUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
ListeUtilisateurs p, q;
if(videUtilisateurs(Utilisateurs))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
p = Utilisateurs;
Utilisateurs = Utilisateurs->suiv;
free(p);
return 1;
}
q = Utilisateurs;
p = Utilisateurs->suiv;
while(p != NULL && strcmp(p->utilisateur.nomUtilisateur, nomUtilisateur) != 0)
{
q = p;
p = p->suiv;
}
if(p == NULL)
{
return 0;
}
q->suiv = p->suiv;
free(p);
return 1;
}
int menuUtilisateurs(ListeUtilisateurs Utilisateurs)
{
int choix;
printf("1. Ajouter un utilisateur\n");
printf("2. Supprimer un utilisateur\n");
printf("3. Afficher la liste des utilisateurs\n");
printf("4. Quitter\n");
printf("Votre choix : ");
scanf("%d", &choix);
return choix;
}
void global()
{
ListeUtilisateurs Utilisateurs;
Utilisateurs = chargerUtilisateurs("utilisateurs.bin");
menuUtilisateurs(Utilisateurs);
while(choix != 4)
{
if(choix == 1)
{
ajouterUtilisateur(Utilisateurs);
}
elseif(choix == 2)
{
supprimerUtilisateur(Utilisateurs);
}
elseif(choix == 3)
{
afficherUtilisateurs(Utilisateurs);
}
else
{
printf("choix impossible\n");
}
menuUtilisateurs(Utilisateurs);
}
sauveUtilisateurs("utilisateurs.bin", Utilisateurs);
}*/