@ -5,7 +5,7 @@
# include <string.h>
# include <string.h>
int global ( ) {
void global ( ) {
int choix = 1 ;
int choix = 1 ;
char term ;
char term ;
printf ( " \n " ) ;
printf ( " \n " ) ;
@ -16,12 +16,12 @@ int global(){
printf ( " \033 [1;35m ██████ ██ ███████ ██ ████ ████ ███████ ██ ████ ██████ ███████ \033 [0m \n " ) ;
printf ( " \033 [1;35m ██████ ██ ███████ ██ ████ ████ ███████ ██ ████ ██████ ███████ \033 [0m \n " ) ;
while ( choix ! = 0 ) {
while ( choix ! = 0 ) {
printf ( " \n \n \033 [1;32mQue souhaitez-vous faire? \033 [0m " ) ;
printf ( " \n \n \033 [1;32mQue souhaitez-vous faire? \033 [0m " ) ;
printf ( " \n \n \033 [1;36m1- Créer un adhérent \n 2- Alimenter une carte \n 3- Gérer l'activation d'une carte \n 4- Supprimer un ahdérent \n 5- Afficher les infos d'un adhérent \n 6- Afficher tout les adhérents \n 7- Afficher le nombre d'entrée par activité dans la journée \n 0- Sortir\033 [0m \n \n " ) ;
printf ( " \n \n \033 [1;36m1- Créer un adhérent \n 2- Alimenter une carte \n 3- Gérer l'activation d'une carte \n 4- Supprimer un ahdérent \n 5- Afficher les infos d'un adhérent \n 6- Afficher tout les adhérents \n 7- Afficher le nombre d'entrée par activité dans la journée \n 8- Ajouter un ahérent dans un sport.\n 0- Sortir\033 [0m \n \n " ) ;
if ( scanf ( " %d%c " , & choix , & term ) ! = 2 | | term ! = ' \n ' ) {
if ( scanf ( " %d%c " , & choix , & term ) ! = 2 | | term ! = ' \n ' ) {
printf ( " \033 [1;31mVeuillez bien tapez l'une des possibilités proposées ci-dessus. \033 [0m \n " ) ;
printf ( " \033 [1;31mVeuillez bien tapez l'une des possibilités proposées ci-dessus. \033 [0m \n " ) ;
exit ( 1 ) ;
exit ( 1 ) ;
}
}
if ( choix > 7 ) {
if ( choix > 8 ) {
printf ( " \033 [1;31mVeuillez bien tapez l'une des possibilités proposées ci-dessus. \033 [0m \n " ) ;
printf ( " \033 [1;31mVeuillez bien tapez l'une des possibilités proposées ci-dessus. \033 [0m \n " ) ;
sleep ( 5 ) ;
sleep ( 5 ) ;
} else if ( choix = = 1 ) {
} else if ( choix = = 1 ) {
@ -31,43 +31,60 @@ int global(){
} else if ( choix = = 3 ) {
} else if ( choix = = 3 ) {
compteStatut ( ) ;
compteStatut ( ) ;
} else if ( choix = = 4 ) {
} else if ( choix = = 4 ) {
// supp adhérent
suppAd ( ) ;
} else if ( choix = = 5 ) {
} else if ( choix = = 5 ) {
// info 1 adhérent
afficheInfoAd ( ) ;
} else if ( choix = = 6 ) {
} else if ( choix = = 6 ) {
afficheAd ( ) ;
afficheAd ( ) ;
} else if ( choix = = 7 ) {
} else if ( choix = = 7 ) {
// nbentrée
afficheAdSport ( ) ;
} else if ( choix = = 8 ) {
ajoutSport ( ) ;
}
}
}
}
return 0 ;
return ;
}
}
void addAd ( ) {
void addAd ( ) {
FILE * fic ;
FILE * fic ;
int rep , tmp , i ;
int rep , tmp , i ;
fic = fopen ( " numadherent.don " , " r+ " ) ;
fic = fopen ( " numadherent.don " , " r+ " ) ;
if ( fic = = NULL ) {
if ( fic = = NULL ) {
printf ( " \033 [1;31mLe fichier n'existe pas ! \033 [0m \n " ) ;
printf ( " \033 [1;31mLe fichier n'existe pas ! \033 [0m \n " ) ;
exit ( 1 ) ;
exit ( 1 ) ;
}
printf ( " \033 [1;36mVoulez vous vraiment créer un adhérent ? \n 0- Oui \n 1- Non \033 [0m \n " ) ;
//Je vérifie si le fichier existe
scanf ( " %d " , & rep ) ;
if ( rep = = 0 ) {
}
for ( i = 0 ; feof ( fic ) = = 0 ; i + + ) {
printf ( " \033 [1;36mVoulez vous vraiment créer un adhérent ? \n 0- Oui \n 1- Non \033 [0m \n " ) ;
fscanf ( fic , " %d, %d, %d, %d, %d, %d, %d, %d " , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp ) ;
scanf ( " %d " , & rep ) ;
}
if ( rep = = 0 ) {
fprintf ( fic , " %d, %d, %d, %d, %d, %d, %d, %d \n " , i - 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ) ;
fclose ( fic ) ;
//Si l'utilisateur répond oui, on ajoute une ligne au fichier numadherent.don avec son id et en initialisant tous ses éléments.
printf ( " \033 [1;32mVous êtes maintenant adhérent, votre numéro id est : " ) ;
printf ( " %d \n \033 [0m " , i - 1 ) ;
for ( i = 0 ; feof ( fic ) = = 0 ; i + + ) {
sleep ( 5 ) ;
fscanf ( fic , " %d, %d, %d, %d, %d, %d, %d, %d " , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp , & tmp ) ; //On se rend à la dernière ligne du fichier.
}
}
if ( rep = = 1 ) {
fprintf ( fic , " %d, %d, %d, %d, %d, %d, %d, %d \n " , i - 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ) ; //On rentre l'utilisateur dans le fichier, on initialise ses éléments.
printf ( " \033 [1;31mVous n'avez pas crée d'adhérent \033 [0m \n " ) ;
fclose ( fic ) ;
sleep ( 3 ) ;
printf ( " \033 [1;32mVous êtes maintenant adhérent, votre numéro id est : " ) ; //On informe l'utilisateur qu'il est bien inscrit.
}
printf ( " %d \n \033 [0m " , i - 1 ) ;
sleep ( 5 ) ;
}
//Si l'utilisatuer répond non, on ne fait rien.
if ( rep = = 1 ) {
printf ( " \033 [1;31mVous n'avez pas crée d'adhérent \033 [0m \n " ) ;
sleep ( 3 ) ;
}
}
}
/*
* La fonction modifPoint permet de :
* - Ajouter des points sur un compte
* - Enlever des points sur un compte
*/
void modifPoint ( ) {
void modifPoint ( ) {
int tab [ 100 ] [ 10 ] = { 0 } ;
int tab [ 100 ] [ 10 ] = { 0 } ;
char c ;
char c ;
@ -78,23 +95,27 @@ void modifPoint(){
scanf ( " %d " , & id ) ;
scanf ( " %d " , & id ) ;
printf ( " Voulez-vous enlever ou ajouter des points sur un compte ? \n \t 0 - Ajouter. \n \t 1 - Enlever. \n " ) ;
printf ( " Voulez-vous enlever ou ajouter des points sur un compte ? \n \t 0 - Ajouter. \n \t 1 - Enlever. \n " ) ;
scanf ( " %d " , & statut ) ;
scanf ( " %d " , & statut ) ;
// Enregistre les données du fichier existant
while ( feof ( fichier ) = = 0 ) {
while ( feof ( fichier ) = = 0 ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
conteur = conteur + 1 ;
conteur = conteur + 1 ;
}
}
fclose ( fichier ) ;
fclose ( fichier ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
// Tant que l'on arrive pas à la fin du fichier on tourne
while ( ( c = fgetc ( fichier ) ) ! = EOF ) {
while ( ( c = fgetc ( fichier ) ) ! = EOF ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & idtemp , & ptstemp , & statemp , & foot , & hand , & volley , & bad , & muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & idtemp , & ptstemp , & statemp , & foot , & hand , & volley , & bad , & muscu ) ;
// Si l'id que l'on cherche est égal celui qui vient d'être scanné on continue
if ( idtemp = = id ) {
if ( idtemp = = id ) {
conteur = 0 ;
conteur = 0 ;
fclose ( fichier ) ;
fclose ( fichier ) ;
fichier = fopen ( " numadherent.don " , " w " ) ;
fichier = fopen ( " numadherent.don " , " w " ) ;
// défini la taille du tableau
while ( tab [ conteur ] [ 0 ] ! = id ) {
while ( tab [ conteur ] [ 0 ] ! = id ) {
conteur = conteur + 1 ;
conteur = conteur + 1 ;
}
}
printf ( " %d \n " , statut ) ;
if ( statut = = 0 ) {
if ( statut = = 0 ) { //Si on veut ajouter des points
printf ( " Combien de points voulez-vous ajouter : \n " ) ;
printf ( " Combien de points voulez-vous ajouter : \n " ) ;
scanf ( " %d " , & nbrpnt ) ;
scanf ( " %d " , & nbrpnt ) ;
if ( tab [ conteur ] [ 1 ] > 0 | | tab [ conteur ] [ 1 ] < 0 ) {
if ( tab [ conteur ] [ 1 ] > 0 | | tab [ conteur ] [ 1 ] < 0 ) {
@ -103,7 +124,7 @@ void modifPoint(){
if ( tab [ conteur ] [ 1 ] = = 0 ) {
if ( tab [ conteur ] [ 1 ] = = 0 ) {
tab [ conteur ] [ 1 ] = nbrpnt ;
tab [ conteur ] [ 1 ] = nbrpnt ;
}
}
} else if ( statut = = 1 ) {
} else if ( statut = = 1 ) { //Si on veut enlever des points
printf ( " Combien de points voulez-vous enlever : \n " ) ;
printf ( " Combien de points voulez-vous enlever : \n " ) ;
scanf ( " %d " , & nbrpnt ) ;
scanf ( " %d " , & nbrpnt ) ;
if ( tab [ conteur ] [ 1 ] > 0 ) {
if ( tab [ conteur ] [ 1 ] > 0 ) {
@ -111,19 +132,17 @@ void modifPoint(){
}
}
}
}
conteur = 0 ;
conteur = 0 ;
while ( tab [ conteur ] [ 0 ] ! = 0 ) { // ajoute les données dans le fichier
while ( tab [ conteur ] [ 0 ] ! = 0 ) {
fprintf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
fprintf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
conteur = conteur + 1 ;
conteur = conteur + 1 ;
}
}
fclose ( fichier ) ;
fclose ( fichier ) ;
return ;
return ;
}
}
}
}
}
}
// Affiche la totalité des adhérents
void afficheAd ( ) {
void afficheAd ( ) {
int id , pts , statut , foot = 0 , hand = 0 , volley = 0 , bad = 0 , muscu = 0 ;
int id , pts , statut , foot = 0 , hand = 0 , volley = 0 , bad = 0 , muscu = 0 ;
FILE * fichier ;
FILE * fichier ;
@ -136,16 +155,16 @@ void afficheAd (){
return ;
return ;
}
}
printf ( " id : \t actif :\t nbrpoint :\t \t foot : \t \t hand : \t \t volley : \t bad : \t \t muscu : \n " ) ;
printf ( " id : \t nbrpoint :\t actif :\t \t foot : \t \t hand : \t \t volley : \t bad : \t \t muscu : \n " ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & statut, & pts , & foot , & hand , & volley , & bad , & muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & pts, & statut , & foot , & hand , & volley , & bad , & muscu ) ;
while ( feof ( fichier ) = = 0 ) {
while ( feof ( fichier ) = = 0 ) { // Parcours la totalité de la base de donnée pour l'afficher
printf ( " %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \n " , id , statut , pts , foot , hand , volley , bad , muscu ) ;
printf ( " %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \t \t %d \n " , id , statut , pts , foot , hand , volley , bad , muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & statut, & pts , & foot , & hand , & volley , & bad , & muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & pts, & statut , & foot , & hand , & volley , & bad , & muscu ) ;
}
}
fclose ( fichier ) ;
fclose ( fichier ) ;
}
}
// Change le statut d'un compte
void compteStatut ( ) {
void compteStatut ( ) {
int tab [ 100 ] [ 10 ] = { 0 } ;
int tab [ 100 ] [ 10 ] = { 0 } ;
char c ;
char c ;
@ -156,12 +175,15 @@ void compteStatut(){
scanf ( " %d " , & id ) ;
scanf ( " %d " , & id ) ;
printf ( " Voulez-vous désactiver ou activer un compte ? \n \t 0 - Désactiver un compte. \n \t 1 - Activer un compte. \n " ) ;
printf ( " Voulez-vous désactiver ou activer un compte ? \n \t 0 - Désactiver un compte. \n \t 1 - Activer un compte. \n " ) ;
scanf ( " %d " , & statut ) ;
scanf ( " %d " , & statut ) ;
// Enregistre les données du fichier
// Calcul la taille du fichier
while ( feof ( fichier ) = = 0 ) {
while ( feof ( fichier ) = = 0 ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
conteur = conteur + 1 ;
conteur = conteur + 1 ;
}
}
fclose ( fichier ) ;
fclose ( fichier ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
// Parcours le fichier jusquà la fin
while ( ( c = fgetc ( fichier ) ) ! = EOF ) {
while ( ( c = fgetc ( fichier ) ) ! = EOF ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & idtemp , & ptstemp , & statemp , & foot , & hand , & volley , & bad , & muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & idtemp , & ptstemp , & statemp , & foot , & hand , & volley , & bad , & muscu ) ;
if ( idtemp = = id ) {
if ( idtemp = = id ) {
@ -171,14 +193,13 @@ void compteStatut(){
while ( tab [ conteur ] [ 0 ] ! = id ) {
while ( tab [ conteur ] [ 0 ] ! = id ) {
conteur = conteur + 1 ;
conteur = conteur + 1 ;
}
}
printf ( " %d \n " , statut ) ;
if ( statut = = 0 ) {
if ( statut = = 0 ) {
tab [ conteur ] [ 2 ] = 0 ;
tab [ conteur ] [ 2 ] = 0 ;
} else if ( statut = = 1 ) {
} else if ( statut = = 1 ) {
tab [ conteur ] [ 2 ] = 1 ;
tab [ conteur ] [ 2 ] = 1 ;
}
}
conteur = 0 ;
conteur = 0 ;
// Enregistre les données dans le fichier
while ( tab [ conteur ] [ 0 ] ! = 0 ) {
while ( tab [ conteur ] [ 0 ] ! = 0 ) {
fprintf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
fprintf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
conteur = conteur + 1 ;
conteur = conteur + 1 ;
@ -188,69 +209,217 @@ void compteStatut(){
}
}
}
}
fclose ( fichier ) ;
}
}
/*
* La fonction afficheAdSport permet :
* - D ' afficher le nombre d ' adh é rents d ' un sport en particulier
* - D ' afficher le nombre d ' adh é rents à tous les sports
*/
void afficheAdSport ( ) {
void afficheAdSport ( ) {
int rep , rep2 , id , pts , statut , foot , hand , volley , bad , muscu , f , h , v , b , m , t ;
int rep , rep2 , id , pts , statut , foot , hand , volley , bad , muscu , f = 0 , h = 0 , v = 0 , b = 0 , m = 0 , t = 0 ;
FILE * fichier ;
FILE * fichier ;
fichier = fopen ( " numadherent.don " , " r " ) ;
fichier = fopen ( " numadherent.don " , " r " ) ;
if ( fichier = = NULL ) {
if ( fichier = = NULL ) {
printf ( " Le fichier est vide " ) ;
printf ( " Le fichier est vide " ) ;
fclose ( fichier ) ;
fclose ( fichier ) ;
return ;
return ;
}
}
printf ( " \033 [1;36mVoulez-vous afficher le nombre d'adhérent d'un sport ? "
printf ( " \033 [1;36mVoulez-vous afficher le nombre d'adhérent d'un sport ? \n 0- Oui \n 1- Non \033 [0m \n " ) ;
" \n 0- Oui \n 1- Non \033 [0m \n " ) ;
scanf ( " %d " , & rep ) ;
scanf ( " %d " , & rep ) ;
if ( rep = = 0 ) {
if ( rep = = 0 ) {
while ( feof ( fichier ) = = 0 ) { /*Dans cette boucle on ajoute 1 à un compteur global chaque fois que l'adhérent participe à un sport et 1 à un compteur du sport concerné*/
while ( feof ( fichier ) = = 0 ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & pts , & statut , & foot , & hand , & volley , & bad , & muscu ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & statut , & pts ,
if ( foot = = 1 ) {
& foot , & hand , & volley , & bad , & muscu ) ;
f + + ;
if ( foot = = 1 ) {
+ + t ;
+ + f ;
}
+ + t ;
if ( hand = = 1 ) {
}
+ + h ;
if ( hand = = 1 ) {
+ + t ;
+ + h ;
}
+ + t ;
if ( volley = = 1 ) {
}
+ + v ;
if ( volley = = 1 ) {
+ + t ;
+ + v ;
}
+ + t ;
if ( bad = = 1 ) {
}
+ + b ;
if ( bad = = 1 ) {
+ + t ;
+ + b ;
}
+ + t ;
if ( muscu = = 1 ) {
}
+ + m ;
if ( muscu = = 1 ) {
+ + t ;
+ + m ;
}
+ + t ;
}
}
fclose ( fichier ) ;
printf ( " \033 [1;36mQuel sport avez-vous choisi ? "
" \n 0- Football \n 1- Handball \n 2- Volleyball \n 3- Badminton \n 4- "
" Musculation \n 5- Tous \033 [0m \n " ) ;
scanf ( " %d " , & rep2 ) ;
if ( rep2 = = 0 ) { /*On affiche le compteur du sport en fonction de la réponse de l'utilisateur*/
printf ( " Football : \t %d \n " , f ) ;
} else if ( rep2 = = 1 ) {
printf ( " Handball : \t %d \n " , h ) ;
} else if ( rep2 = = 2 ) {
printf ( " Volleball : \t %d \n " , v ) ;
} else if ( rep2 = = 3 ) {
printf ( " Badminton : \t %d \n " , b ) ;
} else if ( rep2 = = 4 ) {
printf ( " Musculation : \t %d \n " , m ) ;
} else if ( rep2 = = 5 ) {
printf ( " Tous : \t %d \n " , t ) ;
}
}
if ( rep = = 1 ) { /*On affiche un message d'erreur si l'utilisateur ne souhaite pas continuer*/
printf ( " \033 [1;31mVous ne souhaitez pas afficher de sport \033 [0m \n " ) ;
sleep ( 3 ) ;
}
fclose ( fichier ) ;
}
// Permet d'ajouter un adhérent dans un sport
void ajoutSport ( ) {
int tab [ 100 ] [ 10 ] = { 0 } ;
int prix [ 5 ] = { 10 , 10 , 12 , 12 , 15 } ;
char c ;
int id , conteur = 0 , sport , idtemp , ptstemp , statemp , foot , hand , volley , bad , muscu ;
FILE * fichier ;
fichier = fopen ( " numadherent.don " , " r " ) ;
if ( fichier = = NULL ) {
printf ( " Le fichier est vide " ) ;
fclose ( fichier ) ;
return ;
}
printf ( " Quel est l'id de l'adhérent ? \n " ) ;
scanf ( " %d " , & id ) ;
// Enregistre les données du fichier
while ( feof ( fichier ) = = 0 ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
if ( tab [ conteur ] [ 2 ] = = 0 ) {
printf ( " Compte désactivé " ) ;
return ;
}
conteur + + ;
}
printf ( " \033 [1;36m Pour quel sport adhérent à adhéré : \n 0- Football \n 1- Handball \n 2- Volleyball \n 3- Badminton \n 4- Musculation \n 5- Tous \033 [0m \n " ) ;
scanf ( " %d " , & sport ) ;
fclose ( fichier ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
// Parcours le fichier jusqu'à la fin
while ( ( c = fgetc ( fichier ) ) ! = EOF ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & idtemp , & ptstemp , & statemp , & foot , & hand , & volley , & bad , & muscu ) ;
if ( idtemp = = id ) {
conteur = 0 ;
fclose ( fichier ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
// Calcul la taille du fichier
while ( tab [ conteur ] [ 0 ] ! = id ) {
conteur = conteur + 1 ;
}
if ( ( sport = = 0 & & foot = = 1 ) | | ( sport = = 1 & & hand = = 1 ) | | ( sport = = 2 & & volley = = 1 ) | | ( sport = = 3 & & bad = = 1 ) | | ( sport = = 4 & & muscu = = 1 ) ) {
printf ( " L'adhérent est déjà inscrit à ce sport " ) ;
}
else {
// nombre de point minimum
if ( ptstemp < = - 15 ) {
printf ( " L'adérent doit régler sa dette avant de adhérer à un autre sport. " ) ;
return ;
}
else {
tab [ conteur ] [ sport + 3 ] = 1 ;
tab [ conteur ] [ 1 ] - = prix [ sport ] ;
}
}
conteur = 0 ;
//Ajoute les données enregistré dans le fichier
while ( tab [ conteur ] [ 0 ] ! = 0 ) {
fprintf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
conteur = conteur + 1 ;
}
fclose ( fichier ) ;
return ;
}
}
}
fclose ( fichier ) ;
}
printf ( " \033 [1;36mQuel sport avez-vous choisi ? "
/*
" \n 0- Football \n 1- Handball \n 2- Volleyball \n 3- Badminton \n 4- "
* La fonction afficheInfoAd permet :
" Musculation \n 5- Tous \033 [0m \n " ) ;
* - Afficher les informations d ' un adh é rent en particulier
scanf ( " %d " , & rep2 ) ;
*/
if ( rep2 = = 0 ) {
void afficheInfoAd ( ) {
printf ( " Football : \t %d \n " , f ) ;
int iddmd , id , pts , statut , foot , hand , volley , bad , muscu ;
} else if ( rep2 = = 1 ) {
FILE * fichier ;
printf ( " Handball : \t %d \n " , h ) ;
} else if ( rep2 = = 2 ) {
fichier = fopen ( " numadherent.don " , " r " ) ;
printf ( " Volleball : \t %d \n " , v ) ;
} else if ( rep2 = = 3 ) {
if ( fichier = = NULL ) {
printf ( " Badminton : \t %d \n " , b ) ;
printf ( " Le fichier est vide " ) ;
} else if ( rep2 = = 4 ) {
fclose ( fichier ) ;
printf ( " Musculation : \t %d \n " , m ) ;
return ;
} else if ( rep2 = = 5 ) {
printf ( " Tous : \t %d \n " , t ) ;
}
}
}
printf ( " \033 [1;36mQuel est votre id adherent ? \033 [0m \n " ) ;
if ( rep = = 1 ) {
scanf ( " %d \n " , & iddmd ) ;
printf ( " \033 [1;31mVous ne souhaitez pas afficher de sport \033 [0m \n " ) ;
while ( feof ( fichier ) = = 0 ) { /*On parcourt le fichier*/
sleep ( 3 ) ;
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & id , & pts , & statut , & foot , & hand , & volley , & bad , & muscu ) ;
if ( iddmd = = id ) { /*Lorsque l'id rentré par l'utilisateur correspond à un id dans le fichier, on affiche la ligne correspondant à l'id(les informations de l'adhérent en question)*/
printf ( " id :%d \t nbrpoint :%d \t actif :%d \t \n foot :%d \t hand :%d \t volley:%d \t \n bad :%d \t muscu :%d \n " , id , pts , statut , foot , hand , volley , bad , muscu ) ;
fclose ( fichier ) ;
return ;
}
}
}
}
printf ( " Cet id ne correspond à aucun adherent \n " ) ; /*Si l'id rentré ne correspond à audun id dans le fichier, on affiche ce message*/
}
/* Cett fonction permet de supprimer
* un adh é rent de la base de donn é e */
void suppAd ( ) {
FILE * fichier ;
FILE * futurfichier ;
int tab [ 100 ] [ 10 ] = { 0 } ;
int conteur = 1 , asupp , numligne ;
printf ( " Quel adhérent voulez vous supprimer ? Veuillez entrer son id : " ) ;
scanf ( " %d " , & asupp ) ;
fichier = fopen ( " numadherent.don " , " r+ " ) ;
futurfichier = fopen ( " futurfichier.don " , " w " ) ;
fclose ( futurfichier ) ;
futurfichier = fopen ( " futurfichier.don " , " r+ " ) ;
// Enregistre les données du fichier originale
for ( numligne = 1 ; feof ( fichier ) = = 0 ; + + numligne ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ numligne ] [ 0 ] , & tab [ numligne ] [ 1 ] , & tab [ numligne ] [ 2 ] , & tab [ numligne ] [ 3 ] , & tab [ numligne ] [ 4 ] , & tab [ numligne ] [ 5 ] , & tab [ numligne ] [ 6 ] , & tab [ numligne ] [ 7 ] ) ;
}
// Vérifie si l'id donné existe
if ( numligne < = asupp ) {
printf ( " Cet utilisateur n'existe pas " ) ;
}
// Enregistre dans le nouveau fichier
while ( conteur ! = numligne - 1 ) {
fscanf ( fichier , " %d, %d, %d, %d, %d, %d, %d, %d " , & tab [ conteur ] [ 0 ] , & tab [ conteur ] [ 1 ] , & tab [ conteur ] [ 2 ] , & tab [ conteur ] [ 3 ] , & tab [ conteur ] [ 4 ] , & tab [ conteur ] [ 5 ] , & tab [ conteur ] [ 6 ] , & tab [ conteur ] [ 7 ] ) ;
// Si l'id est inférieur à l'id que l'on veut suppr on ajoute sans rien changer
if ( tab [ conteur ] [ 0 ] < asupp ) {
fprintf ( futurfichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
}
// Si l'id est supérieur à l'id que l'on veut suppr on ajoute en créant un décalage
if ( tab [ conteur ] [ 0 ] > asupp ) {
fprintf ( futurfichier , " %d, %d, %d, %d, %d, %d, %d, %d \n " , tab [ conteur ] [ 0 ] - 1 , tab [ conteur ] [ 1 ] , tab [ conteur ] [ 2 ] , tab [ conteur ] [ 3 ] , tab [ conteur ] [ 4 ] , tab [ conteur ] [ 5 ] , tab [ conteur ] [ 6 ] , tab [ conteur ] [ 7 ] ) ;
}
conteur + + ;
}
fclose ( fichier ) ;
fclose ( futurfichier ) ;
if ( remove ( " numadherent.don " ) = = 0 ) {
printf ( " L'utilisateur avec l'id %d a bien été supprimé " , asupp ) ;
} ;
rename ( " futurfichier.don " , " numadherent.don " ) ;
}
}