@ -1,4 +1,6 @@
//main commun
# include <string.h>
# include <stdio.h>
# include "hCommun.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -7,68 +9,451 @@
int Fillvar ( int * tAd , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tage , int * tstate , int * tacti , int * tpasseoupas , int * tptsbought , int * tptsbonus , char * tcateg , int tmax ) //lis le fichier et met les valeurs dans les tableaux
{
FILE * f ;
f = fopen ( " donneeClient.don " , " r " ) ;
if ( f = = NULL )
FILE * f ;
f = fopen ( " donneeClient.don " , " r " ) ;
if ( f = = NULL )
{
printf ( " Problème d'ouverture du fichier Clients... " ) ;
return - 1 ;
}
int i = 0 ;
int numAd , age , state , acti , passeoupas , ptsbought , ptsbonus ;
char categ , fnom [ 15 ] , fprenom [ 15 ] ;
fscanf ( f , " %6d " , & numAd ) ;
fscanf ( f , " %s " , fnom ) ;
fscanf ( f , " %s " , fprenom ) ;
fscanf ( f , " %2d " , & age ) ;
fscanf ( f , " %d " , & state ) ;
fscanf ( f , " %d " , & acti ) ;
fscanf ( f , " %d " , & passeoupas ) ;
fscanf ( f , " %2d " , & ptsbought ) ;
fscanf ( f , " %2d%*c " , & ptsbonus ) ;
fscanf ( f , " %c " , & categ ) ;
while ( ! feof ( f ) )
{
if ( i = = tmax )
{
printf ( " Problème de gestion: trop de clients enregistrés à ce jour " ) ;
return - 1 ;
}
tAd [ i ] = numAd ;
strcpy ( tnom [ i ] , fnom ) ;
strcpy ( tpnom [ i ] , fprenom ) ;
tage [ i ] = age ;
tstate [ i ] = state ;
tacti [ i ] = acti ;
tpasseoupas [ i ] = passeoupas ;
tptsbought [ i ] = ptsbought ;
tptsbonus [ i ] = ptsbonus ;
tcateg [ i ] = categ ;
i + + ;
fscanf ( f , " %6d " , & numAd ) ;
fscanf ( f , " %s " , fnom ) ;
fscanf ( f , " %s " , fprenom ) ;
fscanf ( f , " %2d " , & age ) ;
fscanf ( f , " %d " , & state ) ;
fscanf ( f , " %d " , & acti ) ;
fscanf ( f , " %d " , & passeoupas ) ;
fscanf ( f , " %2d " , & ptsbought ) ;
fscanf ( f , " %2d%*c " , & ptsbonus ) ;
fscanf ( f , " %c " , & categ ) ;
}
fclose ( f ) ;
return i ;
}
void GereAdh é rent ( void )
{
int tAd [ TAILLE ] , tage [ TAILLE ] , tstate [ TAILLE ] , tacti [ TAILLE ] , tpasseoupas [ TAILLE ] , tptsbought [ TAILLE ] , tptsbonus [ TAILLE ] , place , nbacti , chxacti , numAd , ret , insuf ;
char tcateg [ TAILLE ] , nom [ TAILLE ] , pnom [ TAILLE ] , fnom [ TAILLE ] , fpnom [ TAILLE ] , bCard , tnom [ TAILLE ] [ 15 ] , tpnom [ TAILLE ] [ 15 ] , action , choix , recharge ;
place = Fillvar ( tAd , tnom , tpnom , tage , tstate , tacti , tpasseoupas , tptsbought , tptsbonus , tcateg , 500 ) ;
bCard = Card ( ) ; //demande si carte avec client ou non
if ( bCard = = ' N ' ) // si client n'a pas la carte
{
Name ( nom , pnom ) ;
puts ( " Recherche de la carte ! " ) ;
place = FindData ( nom , pnom , tnom , tpnom , tpasseoupas , tptsbought , & action , 500 ) ;
if ( place = = - 1 )
{
return ;
}
}
if ( bCard = = ' O ' )
{
printf ( " Numéro carte : \t " ) ;
scanf ( " %*c%d " , & numAd ) ;
ret = FindN ( tAd , numAd , tpasseoupas , 500 ) ;
if ( ret = = - 1 )
{
GereAdh é rent ( ) ;
}
}
ChoiceMenu ( & choix ) ;
if ( choix = = ' A ' )
{
printf ( " La carte dispose de %d points. \n " , tptsbought [ place ] ) ; //infos sur ses points
ChoiceMenu ( & choix ) ;
}
if ( choix = = ' R ' )
{
Recharge ( tptsbought , place , tcateg ) ;
ChoiceMenu ( & choix ) ;
}
if ( choix = = ' C ' )
{
printf ( " Nombre d'activités souhaitées ? (max 3) \n " ) ;
scanf ( " %d " , & nbacti ) ;
while ( nbacti < 0 | | nbacti > 3 )
{
printf ( " Nombre d'activités incorrect (max 3) \n " ) ;
scanf ( " %d " , & nbacti ) ;
}
chxacti = ChoiceActi ( nbacti , tacti ) ;
CheckPts ( tptsbonus , tptsbought , tpasseoupas , tacti , tcateg , place , chxacti , & insuf ) ;
if ( insuf = = 1 )
{
printf ( " Nombre de points insuffisants : Recharge (R) ou Quitter (Q) " ) ;
scanf ( " %c%*c " , & recharge ) ;
if ( recharge = = ' R ' )
{
Recharge ( tptsbought , place , tcateg ) ;
}
else
{
ChoiceMenu ( & choix ) ;
}
}
ChoiceMenu ( & choix ) ;
}
if ( choix = = ' Q ' )
{
printf ( " Problème d'ouverture du fichier Clients... " ) ;
//menuglobal()
return ;
}
}
char Card ( void ) //demande si client a la carte
{
char bCard ;
printf ( " Avez-vous votre numéro de carte adhérent avec vous ?(O/N) \n " ) ;
scanf ( " %c " , & bCard ) ;
return bCard ;
}
void Name ( char * nom , char * prenom ) //demande nom et prénom
{
printf ( " Dans ce cas, quel est votre nom ? \n " ) ;
scanf ( " %s " , nom ) ;
printf ( " Et votre prénom ? \n " ) ;
scanf ( " %s " , prenom ) ;
}
int FindData ( char * nom , char * pnom , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tpasseoupas , int * tptsbought , char * action , int tmax )
{
int i , found = 0 , testnom , testpnom ;
i = 0 ;
testnom = strcmp ( tnom [ i ] , nom ) ; //comparer nom du fichier et nom donné
testpnom = strcmp ( tpnom [ i ] , pnom ) ; //comparer prénom du fichier et prénom donné
while ( found = = 0 & & i < tmax )
{
if ( testnom = = 0 )
{
if ( testpnom = = 0 )
found = 1 ;
break ;
}
i + + ;
testnom = strcmp ( tnom [ i ] , nom ) ;
testpnom = strcmp ( tpnom [ i ] , pnom ) ;
}
if ( found = = 0 )
{
printf ( " Recherche non aboutie : numéro non enregistré... \n " ) ; //si le client n'est au final pas enregistré
return - 1 ;
}
int i = 0 ;
int numAd , age , state , acti , passeoupas , ptsbought , ptsbonus ;
char categ , fnom [ 15 ] , fprenom [ 15 ] ;
fscanf ( f , " %6d " , & numAd ) ;
fscanf ( f , " %s " , fnom ) ;
fscanf ( f , " %s " , fprenom ) ;
fscanf ( f , " %2d " , & age ) ;
fscanf ( f , " %d " , & state ) ;
fscanf ( f , " %d " , & acti ) ;
fscanf ( f , " %d " , & passeoupas ) ;
fscanf ( f , " %2d " , & ptsbought ) ;
fscanf ( f , " %2d%*c " , & ptsbonus ) ;
fscanf ( f , " %c " , & categ ) ;
while ( ! feof ( f ) )
{
if ( i = = tmax )
if ( found = = 1 ) //si trouvé
{
if ( tpasseoupas [ i ] = = 1 ) //si client déjà passé
{
printf ( " Problème de gestion: trop de clients enregistrés à ce jour " ) ;
printf ( " Déjà passé, nombre possible de passage dans une journée : 1... \n " ) ;
return - 1 ;
}
printf ( " Carte trouvée ! \n " ) ;
return i ;
}
}
tAd [ i ] = numAd ;
strcpy ( tnom [ i ] , fnom ) ;
strcpy ( tpnom [ i ] , fprenom ) ;
tage [ i ] = age ;
tstate [ i ] = state ;
tacti [ i ] = acti ;
tpasseoupas [ i ] = passeoupas ;
tptsbought [ i ] = ptsbought ;
tptsbonus [ i ] = ptsbonus ;
tcateg [ i ] = categ ;
int FindN ( int * tAd , int numAd , int * tpasseoupas , int tmax )
{
int i , found = 0 ;
i = 0 ;
while ( found = = 0 & & i < tmax )
{
if ( tAd [ i ] = = numAd )
{
break ;
}
i + + ;
}
if ( found = = 0 )
{
printf ( " Recherche non aboutie : numéro non enregistré... \n " ) ; //si le client n'est au final pas enregistré
return - 1 ;
}
if ( found = = 1 ) //si trouvé
{
if ( tpasseoupas [ i ] = = 1 ) //si client déjà passé
{
printf ( " Déjà passé, nombre possible de passage dans une journée : 1... \n " ) ;
return - 1 ;
}
printf ( " Carte trouvée ! \n " ) ;
return i ;
}
}
void Recharge ( int * tptsbought , int place , char * tcateg )
{
int dizpts , topay , nbpts ;
printf ( " Combien de dizaines de points souhaitez-vous acheter ? \n " ) ;
scanf ( " %d " , & dizpts ) ;
while ( dizpts > 100 | | dizpts < 0 )
{
printf ( " Veuillez entrer un nombre correct de dizaines de points \n " ) ;
scanf ( " %d " , & dizpts ) ;
}
if ( tcateg [ place ] = = ' E ' )
{
nbpts = dizpts * 10 ;
topay = dizpts * 2 ;
tptsbought [ place ] + = nbpts ;
printf ( " Vous avez désormais %d points sur la carte, vous nous devez %d € \n " , tptsbought [ place ] , topay ) ;
}
if ( tcateg [ place ] = = ' S ' )
{
nbpts = dizpts * 10 ;
topay = dizpts * 4 ;
tptsbought [ place ] + = nbpts ;
printf ( " Vous avez désormais %d points sur la carte, vous nous devez %d € \n " , tptsbought [ place ] , topay ) ;
}
if ( tcateg [ place ] = = ' A ' )
{
nbpts = dizpts * 10 ;
topay = dizpts * 6 ;
tptsbought [ place ] + = nbpts ;
printf ( " Vous avez désormais %d points sur la carte, vous nous devez %d € \n " , tptsbought [ place ] , topay ) ;
}
}
int Acti ( int i )
{
int acti ;
printf ( " Choix de l'activité %d: badminton (1) | football (2) | zumba (3) | musculation (4) | squash (5) \n " , i ) ;
scanf ( " %*c%d%*c " , & acti ) ;
while ( acti ! = 1 & & acti ! = 2 & & acti ! = 3 & & acti ! = 4 & & acti ! = 5 )
{
printf ( " Veuillez entrer un nombre d'activité correct (badminton (1) | football (2) | zumba (3) | musculation (4) | squash (5)) \n " ) ;
scanf ( " %d%*c " , & acti ) ;
}
return acti ;
}
int ChoiceActi ( int nbacti , int * tacti )
{
int chxacti , chx1 , chx2 , chx3 ;
if ( nbacti = = 1 )
{
chxacti = Acti ( nbacti ) ;
}
fscanf ( f , " %6d " , & numAd ) ;
fscanf ( f , " %s " , fnom ) ;
fscanf ( f , " %s " , fprenom ) ;
fscanf ( f , " %2d " , & age ) ;
fscanf ( f , " %d " , & state ) ;
fscanf ( f , " %d " , & acti ) ;
fscanf ( f , " %d " , & passeoupas ) ;
fscanf ( f , " %2d " , & ptsbought ) ;
fscanf ( f , " %2d%*c " , & ptsbonus ) ;
fscanf ( f , " %c " , & categ ) ;
if ( nbacti = = 2 )
{
chx1 = Acti ( nbacti - 1 ) ;
chx2 = Acti ( nbacti ) ;
chxacti = chx1 + chx2 * 10 ;
}
if ( nbacti = = 3 )
{
chx1 = Acti ( nbacti - 2 ) ;
chx2 = Acti ( nbacti - 1 ) ;
chx3 = Acti ( nbacti ) ;
chxacti = chx1 + chx2 * 10 + chx3 * 100 ;
}
fclose ( f ) ;
return 0 ;
return chxacti ;
}
void ChoiceMenu ( char * choix )
{
printf ( " Recharge carte (R) | Afficher points (A) | Choix activités (C) | Quitter (Q) \n " ) ;
scanf ( " %c%*c " , choix ) ;
while ( * choix ! = ' R ' & & * choix ! = ' A ' & & * choix ! = ' C ' & & * choix ! = ' Q ' )
{
printf ( " Entrer un caractère correct R | A | C | Q \n " ) ;
scanf ( " %c%*c%*c " , choix ) ;
}
}
void CheckPts ( int * tptsbonus , int * tptsbought , int * tpasseoupas , int * tacti , char * tcateg , int place , int acti , int * insuf )
{
int u , d , c , actu = 0 , actd = 0 , actc = 0 , ptsneeded ;
char confirm ;
u = acti % 10 ; //acti1
d = ( acti % 100 ) / 10 ; //acti2
c = acti / 100 ; //acti3
actu = CheckActi ( u ) ;
actd = CheckActi ( d ) ;
actc = CheckActi ( c ) ;
ptsneeded = actu + actd + actc ;
if ( ptsneeded < = tptsbought [ place ] )
{
( " Points suffisants, confirmation ? (O/N) \n " ) ;
scanf ( " %c%*c " , & confirm ) ;
if ( confirm = = ' O ' )
{
tptsbought [ place ] - = ptsneeded ;
tptsbonus [ place ] + = ptsneeded ;
if ( tptsbonus [ place ] > = 100 )
{
tptsbought [ place ] + = 15 ;
tptsbonus [ place ] - = 100 ;
tpasseoupas [ place ] = 1 ;
}
tacti [ place ] = acti ;
}
}
else
{
* insuf = 1 ;
}
}
int CheckActi ( int nb )
{
if ( nb = = 1 ) //badminton
{
return 8 ;
}
if ( nb = = 2 ) //football
{
return 5 ;
}
if ( nb = = 3 ) //zumba
{
return 5 ;
}
if ( nb = = 4 ) //muscu
{
return 15 ;
}
if ( nb = = 5 ) //squash
{
return 10 ;
}
}
void Save ( int * tAd , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tage , int * tstate , int * tacti , int * tpasseoupas , int * tptsbought , int * tptsbonus , char * tcateg , int tmax , int place )
{
int i = 0 ;
FILE * fs ;
fs = fopen ( " data.don " , " a " ) ;
if ( fs = = NULL )
{
printf ( " Erreur fichier data.don \n " ) ;
}
fprintf ( fs , " %d " , tAd [ i ] ) ;
fprintf ( fs , " %s " , tnom [ i ] ) ;
fprintf ( fs , " %s \t " , tpnom [ i ] ) ;
fprintf ( fs , " %d \t " , tage [ i ] ) ;
fprintf ( fs , " %d \t " , tstate [ i ] ) ;
fprintf ( fs , " %d \t " , tacti [ i ] ) ;
fprintf ( fs , " %d \t " , tpasseoupas [ i ] ) ;
fprintf ( fs , " %d \t " , tptsbought [ i ] ) ;
fprintf ( fs , " %d \t " , tptsbonus [ i ] ) ;
fprintf ( fs , " %c " , tcateg [ i ] ) ;
i + + ;
for ( i ; i < place ; i + + )
{
fprintf ( fs , " %d " , tAd [ i ] ) ;
fprintf ( fs , " %s " , tnom [ i ] ) ;
fprintf ( fs , " %s \t " , tpnom [ i ] ) ;
fprintf ( fs , " %d \t " , tage [ i ] ) ;
fprintf ( fs , " %d \t " , tstate [ i ] ) ;
fprintf ( fs , " %d \t " , tacti [ i ] ) ;
fprintf ( fs , " %d \t " , tpasseoupas [ i ] ) ;
fprintf ( fs , " %d \t " , tptsbought [ i ] ) ;
fprintf ( fs , " %d \t " , tptsbonus [ i ] ) ;
fprintf ( fs , " %c " , tcateg [ i ] ) ;
}
}
@ -92,22 +477,20 @@ void fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang)
* rang = i ;
return ;
}
if ( tAd [ i ] > noClient )
* rang = i ;
return ;
}
* coderet = 0 ;
}
//Affichage D'UN client avec toutes ses données.
void fAffichage1Client ( int * tAd , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tage , int * tstate , int n , int noClient )
{
int i , coderet , rang , trouve , NonTrouve ;
void fAffichage1Client ( int * tAd , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tage , int * tstate , int n , int noClient , int * tptsbought , char * tcateg )
{
int i , coderet , rang , trouve ;
fRecherche ( tAd , n , noClient , & coderet , & rang ) ;
trouve = coderet ;
printf ( " %d " , trouve ) ;
while ( trouve = = 0 )
{
@ -115,16 +498,19 @@ void fAffichage1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, i
{
printf ( " Le numero client n'a pas été trouvé \n " ) ;
printf ( " Veuillez entrer a nouveau le N° Client ou taper -1 pour annuler \n " ) ;
scanf ( " %d " , & NonTrouve ) ;
}
if ( NonTrouve = = - 1 )
scanf ( " %d " , & noClient ) ;
fRecherche ( tAd , n , noClient , & coderet , & rang ) ;
trouve = coderet ;
printf ( " %d " , trouve ) ;
if ( noClient = = - 1 )
{
return ;
else
fRecherche ( tAd , n , noClient , & coderet , & rang ) ;
trouve = coderet ;
}
}
printf ( " N° Client \t Nom \t Prénom \t Age \t Tarif \n " ) ;
printf ( " %d \t %s \t %S \t %d \t %S \n " , tAd [ rang ] , tnom [ rang ] , tpnom [ rang ] , tage [ rang ] , tstate [ rang ] ) ;
}
printf ( " N° Client \t Nom \t Prénom \t Age \t Tarif \t Nombre de points \t \n " ) ;
printf ( " %d \t %s \t %s \t %d \t %c \t %d \n " , tAd [ rang ] , tnom [ rang ] , tpnom [ rang ] , tage [ rang ] , tcateg [ rang ] , tptsbought [ rang ] ) ;
}
@ -146,9 +532,9 @@ int affNbmEntree( int *tpasseoupas, int tlog)
{
int i , nbentre ;
for ( i = 0 ; i < tlog ; i + + )
( if ( tpasseoupas [ i ] = = 1 )
nbentre + = 1 ; )
printf ( " Le nombre d'entrée totale de la journée s'élève a : %d \n " , nbentre )
if ( tpasseoupas [ i ] = = 1 )
nbentre + = 1 ;
printf ( " Le nombre d'entrée totale de la journée s'élève a : %d \n " , nbentre ) ;
return nbentre ;
}
// fonction comptage activité
@ -170,12 +556,12 @@ void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx)
//Calcul et affiche le nombre d'entrée
void affNbParAct ( int * tacti , int tlog )
{
int chx1 , chx2 , chx3 , bad , muscu , foot , squa , zumba , totbad , totmuscu , totfoot , totsqua , totzumba ;
int chx1 , chx2 , chx3 , bad , muscu , foot , squa , zumba , totbad , totmuscu , totfoot , totsqua , totzumba , i ;
for ( i = 0 ; i < tlog ; i + + )
( chx1 = tacti [ i ] / 100 ;
chx1 = tacti [ i ] / 100 ;
chx2 = ( tacti [ i ] % 100 ) / 10 ;
chx3 = chx2 % 10 ; )
chx3 = chx2 % 10 ;
if ( chx1 ! = 0 )
cptAct ( & bad , & muscu , & foot , & squa , & zumba , chx1 ) ;
totbad = bad ;
@ -197,10 +583,11 @@ void affNbParAct(int *tacti, int tlog)
totfoot = foot + totfoot ;
totsqua = squa + totsqua ;
totzumba = zumba + totzumba ;
If ( chx1 = = 0 & & chx2 = = 0 & & chx3 = = 0 )
( printf ( " Pas d'activité pour le moment " )
if ( chx1 = = 0 & & chx2 = = 0 & & chx3 = = 0 )
{
printf ( " Pas d'activité pour le moment " ) ;
return ;
)
}
printf ( " Le nombre d'entrée par activité est de \n " ) ;
printf ( " Badminton \t Musculation \t Foot \t Squash \t Zumba \n " ) ;
@ -215,22 +602,22 @@ void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *t
int coderet , rang , noClient , i ;
char contsuppr , confsupp ;
printf ( " Entrez le numero client à supprimer " ) ;
printf ( " Entrez le numero client à supprimer \n " ) ;
scanf ( " %d " , & noClient ) ;
fRecherche ( tAd , n , noClient , & coderet , & rang ) ;
fRecherche ( tAd , * n , noClient , & coderet , & rang ) ;
printf ( " %d " , coderet ) ;
if ( coderet = = 1 )
{
printf ( " Confirmation de la suppression? O/N " ) ;
scanf ( " %*c%c%*c " , & confsupp )
printf ( " \n Confirmation de la suppression? O/N \n " ) ;
scanf ( " %*c%c%*c " , & confsupp ) ;
if ( confsupp = = ' O ' )
{
for ( i = rang ; i < n - 1 ; i + + )
for ( i = rang ; i < * n - 1 ; i + + )
tAd [ i ] = tAd [ i + 1 ] ;
tnom [ i ] = tnom [ i + 1 ] ;
tpnom [ i ] = tpnom [ i + 1 ] ;
strcpy ( tnom [ i ] , tnom [ i + 1 ] ) ;
strcpy ( tpnom [ i ] , tpnom [ i + 1 ] ) ;
tage [ i ] = tage [ i + 1 ] ;
tstate [ i ] = tstate [ i + 1 ] ;
tacti [ i ] = tacti [ i + 1 ] ;
@ -239,34 +626,34 @@ void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *t
tptsbonus [ i ] = tptsbonus [ i + 1 ] ;
tcateg [ i ] = tcateg [ i + 1 ] ;
printf ( " Le client numéro %d a été supprimé " , noClient ) ;
printf ( " \n Le client numéro %d a été supprimé " , noClient ) ;
return ;
}
}
}
}
while ( coderet = = 0 )
{
{
printf ( " Le numéro client n'est pas trouvé. Voulez-vous continuez? O/N " ) ;
scanf ( " %*c%c%*c " , & con f suppr) ;
printf ( " \n Le numéro client n'est pas trouvé. Voulez-vous continuez? O/N \n " ) ;
scanf ( " %*c%c%*c " , & con t suppr) ;
}
if ( contsuppr = = ' O ' )
{
printf ( " Veuillez entrer a nouveau le numéro de carte à supprimer " ) ;
printf ( " \n Veuillez entrer a nouveau le numéro de carte à supprimer \n " ) ;
scanf ( " %d " , & noClient ) ;
fRecherche ( tAd , n , noClient , & coderet , & rang ) ;
fRecherche ( tAd , * n , noClient , & coderet , & rang ) ;
if ( coderet = = 1 )
{
printf ( " Confirmation de la suppression? O/N " ) ;
scanf ( " %*c%c%*c " , & confsupp )
printf ( " \n Confirmation de la suppression? O/N \n " ) ;
scanf ( " %*c%c%*c " , & confsupp ) ;
if ( confsupp = = ' O ' )
{
for ( i = rang ; i < n - 1 ; i + + )
for ( i = rang ; i < * n - 1 ; i + + )
tAd [ i ] = tAd [ i + 1 ] ;
tnom [ i ] = tnom [ i + 1 ] ;
tpnom [ i ] = tpnom [ i + 1 ] ;
strcpy ( tnom [ i ] , tnom [ i + 1 ] ) ;
strcpy ( tpnom [ i ] , tpnom [ i + 1 ] ) ;
tage [ i ] = tage [ i + 1 ] ;
tstate [ i ] = tstate [ i + 1 ] ;
tacti [ i ] = tacti [ i + 1 ] ;
@ -275,11 +662,167 @@ void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *t
tptsbonus [ i ] = tptsbonus [ i + 1 ] ;
tcateg [ i ] = tcateg [ i + 1 ] ;
printf ( " Le client numéro %d a été supprimé " , noClient ) ;
printf ( " \n Le client numéro %d a été supprimé \n " , noClient ) ;
return ; }
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EVANN
//EVANN
void Index ( void )
{
int tAd [ TAILLE ] , tage [ TAILLE ] , tstate [ TAILLE ] , tacti [ TAILLE ] , tpasseoupas [ TAILLE ] , tptsbought [ TAILLE ] , tptsbonus [ TAILLE ] , place , nbacti , chxacti , numAd , ret , n , VSUIVANTE , next , choix = 0 ;
char tcateg [ TAILLE ] , nom [ TAILLE ] , pnom [ TAILLE ] , fnom [ TAILLE ] , fpnom [ TAILLE ] , bCard , member , tnom [ TAILLE ] [ 15 ] , tpnom [ TAILLE ] [ 15 ] , action , retourmenu ;
n = Fillvar ( tAd , tnom , tpnom , tage , tstate , tacti , tpasseoupas , tptsbought , tptsbonus , tcateg , 500 ) ;
FILE * fx ;
fx = fopen ( " x.don " , " r " ) ;
if ( fx = = NULL )
{ printf ( " erreur " ) ;
return ; }
VSUIVANTE = 0 ;
while ( ! feof ( fx ) )
{
fscanf ( fx , " %d " , & next ) ;
if ( next > VSUIVANTE )
{
VSUIVANTE = next ;
}
}
printf ( " \n ########################################################### \n " ) ;
printf ( " \n Que souhaitez vous faire? | " ) ;
printf ( " \n | " ) ;
printf ( " \n \t 1- Créer un compte | \n " ) ;
printf ( " \t 2- Adhérent | \n " ) ;
printf ( " \t 3- Accueil client | \n " ) ;
printf ( " \t 4- Suppression | \n " ) ;
printf ( " \t 5- Carte | \n " ) ;
printf ( " \t 6- Fin de journée | \n " ) ;
printf ( " \t Controle C pour quitter sans sauvegarder | \n " ) ;
printf ( " \n ########################################################### \n \n " ) ;
//printf("\nTapez h pour une aide\n");
scanf ( " %d%*c " , & choix ) ;
while ( 1 > choix | | choix > 6 )
{
printf ( " \n Entrez soit 1, soit 2. \t " ) ;
scanf ( " %d%*c " , & choix ) ;
}
/*
if ( choix = = ' h ' )
{
printf ( " \n \t Bienvenue dans notre application! \n " ) ;
printf ( " \n Vous êtes arrivées dans le menu de notre incroyable salle de sport \n " ) ;
printf ( " Tapez le nombre au début de la liste des fonctionnalitées pour y accéder " ) ;
printf ( " \n Si vous êtes nouveau, nous vous conseillons de créer un compte en tapant 1 dan le menu " ) ;
printf ( " \n Tapez O pour retourner au menu principal \n " ) ;
scanf ( " %c " , & retourmenu ) ;
while ( retourmenu ! = ' O ' )
{
printf ( " \n Tapez la lettre O pour revenir au menu. \t " ) ;
scanf ( " %*c%c%*c " , & retourmenu ) ;
}
if ( retourmenu = = ' O ' )
Index ( ) ;
}
*/
if ( choix = = 1 )
{
creationCompte ( & VSUIVANTE ) ;
}
if ( choix = = 2 )
{
menuAff ( tAd , tnom , tpnom , tage , tstate , tacti , tpasseoupas , tptsbought , tptsbonus , tcateg , 500 , n ) ;
}
if ( choix = = 3 )
{
GereAdh é rent ( ) ;
}
}
void creationCompte ( int * VSUIVANTE )
{
char nom [ 15 ] , prenom [ 20 ] , categorie , gen , retour ;
int age , nclient ;
FILE * fe , * fx , * fn ;
fe = fopen ( " donneClient.don " , " a " ) ;
fx = fopen ( " x.don " , " a " ) ;
if ( fe = = NULL )
{
printf ( " Erreur ouverture fichier " ) ;
}
printf ( " \n Entrez votre nom \n " ) ;
scanf ( " %s%*c " , nom ) ;
printf ( " \n Entrez votre prenom \n " ) ;
scanf ( " %s%*c " , prenom ) ;
printf ( " \n Entrez votre age \n " ) ;
scanf ( " %d%*c " , & age ) ;
printf ( " Avez-vous un tarif spécial: Etudiant(E), Senior(S), aucun(A)? \n " ) ;
scanf ( " %c%*c " , & categorie ) ;
fprintf ( fe , " \n %d \t " , * VSUIVANTE ) ;
fprintf ( fe , " %s \t " , nom ) ;
fprintf ( fe , " %s \t " , prenom ) ;
fprintf ( fe , " %d \t " , age ) ;
fprintf ( fe , " 0 \t " ) ; //état de la carte
fprintf ( fe , " 0 \t " ) ; //activité
fprintf ( fe , " 0 \t " ) ; //passé ou pas
fprintf ( fe , " 30 \t " ) ; //point acheté
fprintf ( fe , " 0 \t " ) ; //point cumulé
fprintf ( fe , " %c " , categorie ) ;
* VSUIVANTE = * VSUIVANTE + 1 ;
fprintf ( fx , " \n %d " , * VSUIVANTE ) ;
printf ( " Ajoutez un contact?(O/N) \n " ) ;
scanf ( " %c%*c " , & retour ) ;
if ( retour = = ' O ' )
creationCompte ( VSUIVANTE ) ;
else
return ;
}
void menuAff ( int * tAd , char tnom [ ] [ 15 ] , char tpnom [ ] [ 15 ] , int * tage , int * tstate , int * tacti , int * tpasseoupas , int * tptsbought , int * tptsbonus , char * tcateg , int tmax , int n )
{
int choix , noClient ;
printf ( " \n 1-Affiche un client " ) ;
printf ( " \n 1-Affiche un client " ) ;
printf ( " \n 1-Affiche un client " ) ;
scanf ( " %d%*c " , & choix ) ;
if ( choix = = 1 )
{
printf ( " \n Numéro du client recherché? " ) ;
scanf ( " %d%*c " , & noClient ) ;
fAffichage1Client ( tAd , tnom , tpnom , tage , tstate , n , noClient , tptsbought , tcateg ) ;
}
}