Réunion dans un fichier commun

master
evann.abrial 2 years ago
commit 96465a1791

@ -1,4 +1,6 @@
//main commun
#include <string.h>
#include <stdio.h>
#include "hCommun.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -18,16 +20,16 @@ int Fillvar(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate,
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);
fscanf(f, "%d%*c", &numAd);
fscanf(f, "%s%*c", fnom);
fscanf(f, "%s%*c", fprenom);
fscanf(f, "%d%*c", &age);
fscanf(f, "%d%*c", &state);
fscanf(f, "%d%*c", &acti);
fscanf(f, "%d%*c", &passeoupas);
fscanf(f, "%d%*c", &ptsbought);
fscanf(f, "%d%*c", &ptsbonus);
fscanf(f, "%c%*c", &categ);
while (!feof(f))
{
@ -51,25 +53,410 @@ int Fillvar(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate,
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);
fscanf(f, "%d%*c", &numAd);
fscanf(f, "%s%*c", fnom);
fscanf(f, "%s%*c", fprenom);
fscanf(f, "%d%*c", &age);
fscanf(f, "%d%*c", &state);
fscanf(f, "%d%*c", &acti);
fscanf(f, "%d%*c", &passeoupas);
fscanf(f, "%d%*c", &ptsbought);
fscanf(f, "%d%*c", &ptsbonus);
fscanf(f, "%c%*c", &categ);
}
fclose(f);
return 0;
return i;
}
void GereAdhérent(void)
{
int pos, tAd[TAILLE], tage[TAILLE], tstate[TAILLE], tacti[TAILLE], tpasseoupas[TAILLE], tptsbought[TAILLE], tptsbonus[TAILLE], place, nbacti, choix, chxacti, numAd, ret, insuf, day = 0;
char tcateg[TAILLE], nom[TAILLE], pnom[TAILLE], fnom[TAILLE], fpnom[TAILLE], bCard, tnom[TAILLE][15], tpnom[TAILLE][15], action, 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)
{
Index(&pos,tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
}
choix = ChoiceMenu();
Loop(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, &choix, &insuf, place, nbacti);
}
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;
}
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;
}
}
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%*c", &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("%d%*c", &acti);
while (acti <= 0 && acti >= 6)
{
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);
}
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;
}
return chxacti;
}
int ChoiceMenu(void)
{
int choix;
printf("Recharge carte (1) | Afficher points (2) | Choix activités (3) | Quitter (4)\n");
scanf("%d", &choix);
while (choix > 4 || choix < 1)
{
printf("Entrer un caractère correct 1 | 2 | 3 | 4 \n");
scanf("%d%*c", &choix);
}
return 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%*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("donneeClient.don", "w");
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, "\n%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]);
}
}
void Loop(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *choix, int *insuf, int place, int nbacti)
{
int chxacti;
char recharge;
while (*choix != 4)
{
if (*choix == 2)
{
printf("La carte dispose de %d points.\n", tptsbought[place]);//infos sur ses points
}
if (*choix == 1)
{
Recharge(tptsbought, place, tcateg);
}
if (*choix == 3)
{
printf("Nombre d'activités souhaitées ? (max 3)\n");
scanf("%*c%d", &nbacti);
while (nbacti < 0 || nbacti > 3)
{
printf("Nombre d'activités incorrect (max 3)\n");
scanf("%*c%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%*c", &recharge);
if (recharge == 'R')
{
Recharge(tptsbought, place, tcateg);
}
}
}
*choix = ChoiceMenu();
}
}
@ -92,23 +479,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 *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int noClient, int tmax)
{
int i, coderet, rang, trouve;
fRecherche(tAd, n, noClient, &coderet, &rang);
trouve = coderet;
printf("%d",trouve);
while (trouve == 0)
{
@ -116,42 +500,49 @@ 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)
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]);
scanf("%d", &noClient);
fRecherche(tAd, n, noClient, &coderet, &rang);
trouve=coderet;
if(noClient==-1)
{
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
return;
}
}
}
printf(" N° Client\t Nom\t Prénom\t Age\t Etat de la carte\t Tarif\t Nombre de points \t \n");
printf("%d\t %s \t %s\t %d\t %d\t %c \t%d\n", tAd[rang], tnom[rang], tpnom[rang], tage[rang],tstate[rang], tcateg[rang], tptsbought[rang]);
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
//Affichage plusieurs client avec toutes les données
int afficheTous(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient )
void afficheTous( int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax)
{
int i;
printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n");
for (int i = 0; i < n; ++i)
{
printf("%d\t %s\t %s\t %d\t %s\n", tAd, tnom, tpnom, tage, tstate);
printf("%d\t\t %s\t %s\t %d\t %d\n", tAd[i], tnom[i], tpnom[i], tage[i], tstate[i]);
}
return i;
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
// calcul du nombre d'entree par jour et l'affiche
int affNbmEntree( int *tpasseoupas, int tlog)
void affNbmEntree(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax)
{
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)
return nbentre;
int i, nbentre = 0;
for( i=0 ; i<n ; 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);
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
// fonction comptage activité
void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx)
{
@ -169,14 +560,14 @@ 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)
void affNbParAct(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax)
{
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;
for( i=0; i<n ; i++)
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;
@ -198,17 +589,311 @@ 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")
return;
)
if ( chx1 == 0 && chx2 == 0 && chx3 == 0)
{
printf("Pas d'activité pour le moment");
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
printf("Le nombre d'entrée par activité est de\n");
printf("Badminton\t Musculation\t Foot\t Squash\t Zumba\n");
printf("%d\t %d\t %d\t %d\t %d\t", totbad, totmuscu, totfoot, totsqua, totzumba);
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
//Fonction suppression d'un client
void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *n, int tmax)
{
int coderet, rang, noClient, i;
char contsuppr, confsupp;
printf("Entrez le numero client à supprimer\n");
scanf("%d", &noClient);
fRecherche(tAd, *n, noClient, &coderet, &rang);
printf("%d",coderet);
if ( coderet == 1 )
{
printf("\nConfirmation de la suppression? O/N\n");
scanf("%*c%c%*c", &confsupp);
if ( confsupp == 'O')
{
for ( i = rang ; i < *n-1 ; i++)
tAd[i] = tAd[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];
tpasseoupas[i] = tpasseoupas[i+1];
tptsbought[i] = tptsbought[i+1];
tptsbonus[i] = tptsbonus[i+1];
tcateg[i] = tcateg[i+1];
printf("\nLe client numéro %d a été supprimé", noClient);
}
*n=*n-1;
Index(n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
while ( coderet == 0 )
{
{
printf("\nLe numéro client n'est pas trouvé. Voulez-vous continuez? O/N\n");
scanf("%*c%c%*c", &contsuppr);
}
if( contsuppr == 'O')
{
printf("\nVeuillez entrer a nouveau le numéro de carte à supprimer\n");
scanf("%d", &noClient);
fRecherche(tAd, *n, noClient, &coderet, &rang);
if ( coderet == 1 )
{
printf("\nConfirmation de la suppression? O/N\n");
scanf("%*c%c%*c", &confsupp);
if ( confsupp == 'O')
{
for ( i = rang ; i < *n-1 ; i++)
{
tAd[i] = tAd[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];
tpasseoupas[i] = tpasseoupas[i+1];
tptsbought[i] = tptsbought[i+1];
tptsbonus[i] = tptsbonus[i+1];
tcateg[i] = tcateg[i+1];
printf("\nLe client numéro %d a été supprimé\n", noClient);
}
*n=*n-1;
Index(n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
}
}
}
Save(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500, 0);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EVANN
void Index(int *n, 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 nclient,i, VSUIVANTE, next, choix=0;
char retourmenu;
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("\nQue souhaitez vous faire? |");
printf("\n |");
printf("\n\t1- Créer un compte |\n");
printf("\t2- Adhérent |\n");
printf("\t3- Accueil client |\n");
printf("\t4- Suppression |\n");
printf("\t5- Carte |\n");
printf("\t6- Fin de journée |\n");
printf("\tControle 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("\nEntrez soit 1, 2, 3, 4, 5, 6.\t");
scanf("%d%*c", &choix);
}
/*
if (choix == 'h')
{
printf("\n\tBienvenue dans notre application!\n");
printf("\nVous ê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("\nSi vous êtes nouveau, nous vous conseillons de créer un compte en tapant 1 dan le menu");
printf("\nTapez O pour retourner au menu principal\n");
scanf("%c",&retourmenu);
while ( retourmenu != 'O')
{
printf("\nTapez la lettre O pour revenir au menu.\t");
scanf("%*c%c%*c", &retourmenu);
}
if (retourmenu == 'O')
Index();
}
*/
if (choix == 1)
{
creationCompte(&VSUIVANTE, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, *n, 500);
}
if (choix == 2)
{
menuAff(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500, n);
}
if (choix == 3)
{
GereAdhérent();
}
if (choix == 4)
{
suppr1Client(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, n, 500);
}
if (choix == 5)
{
printf("Numéro du client?\n");
scanf("%d%*c", &nclient);
printf("NUM CLIENT:%d",nclient);
changementEtatCarte(nclient, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500, *n);
}
if (choix == 6)
{
Save(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500, *n);
}
}
void creationCompte(int *VSUIVANTE, int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax)
{
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("\nEntrez votre nom\n");
scanf("%s%*c", nom);
printf("\nEntrez votre prenom\n");
scanf("%s%*c", prenom);
printf("\nEntrez 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, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500, n);
else
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
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, i;
printf("\n1-Affiche un client");
printf("\n2-Affiche tous les clients");
printf("\n3-Affiche le nombre d'entrée par activité.");
printf("\n4-Affiche le nombre d'entrée.\n");
scanf("%d%*c", &choix);
if ( choix == 1)
{
printf("\nNuméro du client recherché?");
scanf("%d%*c", &noClient);
fAffichage1Client(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, *n, noClient, 500);
}
if ( choix == 2)
{
printf("\n%d",*n);
afficheTous(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, *n, 500);
}
if ( choix == 3)
{
affNbParAct(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, *n, 500);
}
if ( choix == 4)
{
affNbmEntree(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, *n, 500);
}
}
void changementEtatCarte ( int nclient ,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 nchoix, coderet, pos;
printf("\nNouvel état de la carte:");
printf("\nDésactiver(0)");
printf("\nActiver(1)\n");
scanf("%d%*c",&nchoix);
if (nchoix == 0)
{
fRecherche(tAd, n, nclient, &coderet, &pos);
tstate[pos]= 0;
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
if (nchoix == 1)
{
fRecherche(tAd, n, nclient, &coderet, &pos);
tstate[pos]= 1;
Index(&n, tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
}
}

Binary file not shown.

@ -3,3 +3,5 @@
3 Abrial Evann 18 0 0 0 E
4 Fingen Trop 56 0 0 0 A
5 jcdik ijsfk 12 0 0 0 E
5 Came Casselescouilles 56 0 0 0 30 0 E
6 Jean Edouard 78 0 0 0 30 0 S

@ -1,3 +1,3 @@
232665 Belbe Francis 12 0 0 1 12 23 A
256322 Patrick patricia 44 1 2 0 23 36 E
254899 Asis Bichette 55 0 3 0 1 55 C
232665 Belbe Francis 12 0 0 1 12 23 A
256322 Patrick patricia 44 0 2 0 23 36 E
254899 Asis Bichette 55 0 3 0 1 55 C

@ -1,3 +1,4 @@
<<<<<<< HEAD
#include <stdio.h>
#include "evsae.h"
#include <stdlib.h>
@ -153,3 +154,247 @@ void creationCompte(int *VSUIVANTE)
=======
#include <stdio.h>
#include "evsae.h"
#include <stdlib.h>
void menu (void)
{
char choix, retourmenu;
int VSUIVANTE, next;
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("\nQue souhaitez vous faire?\n");
printf("\n1- Créer un compte\n");
printf("2- Presenter sa carte\n");
printf("Controle C pour quitter");
printf("\nTapez h pour une aide\n");
scanf("%*c%c%*c", &choix);
while ( choix != 'h' && choix != '1' && choix != '2')
{
printf("\nEntrez soit h, soit 1, soit 2.\t");
scanf("%c", &choix);
}
if (choix == 'h')
{
printf("\n\tBienvenue dans notre application!\n");
printf("\nVous ê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("\nSi vous êtes nouveau, nous vous conseillons de créer un compte en tapant 1 dan le menu");
printf("\nTapez O pour retourner au menu principal\n");
scanf("%c",&retourmenu);
while ( retourmenu != 'O')
{
printf("\nTapez la lettre O pour revenir au menu.\t");
scanf("%*c%c%*c", &retourmenu);
}
if (retourmenu == 'O')
menu();
}
if (choix == '1')
{
creationCompte( &VSUIVANTE);
}
if (choix == '2')
{
printf("gogogogo");
//Compte()
}
}
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("\nEntrez votre nom\n");
scanf("%s%*c", nom);
printf("\nEntrez votre prenom\n");
scanf("%s%*c", prenom);
printf("\nEntrez 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 fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang)
{
int i;
for(i = 0; i < n; i++)
{
if(tAd[i] == noClient)
{
*coderet = 1;
*rang = i;
return;
}
if(tAd[i] > noClient)
*rang = i;
return;
}
}
void changementEtatCarte ( int *tAd , int *tstate, int n, nclient)
{
int nchoix, coderet, pos
printf("\nNouvel état de la carte:");
printf("\nDésactiver(0)")
printf("\nActiver(1)")
scanf("%c%*c",&nchoix
if (nchoix == 0)
{
fRecherche(tAd, n, nclient, &coderet, &rang);
tAD[6]= 0
}
if (nchoix == 1)
{
fRecherche(tAd, n, nclient, &coderet, &rang);
tAD[6]= 0
}
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)
{
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 0;
}
>>>>>>> c554bacfb7f73dc96a2f05e2c06597f6db5f5091

@ -1,4 +1,4 @@
#include <stdio.h>
void menu (void);
void menu ();
void creationCompte(int *VSUIVANTE);
void c(void);
void fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang);

@ -1,9 +1,12 @@
#include <stdio.h>
#include "evsae.h"
#include "hCommun.h"
int main (void)
{
//c();
menu();
int pos, tAd[TAILLE], tage[TAILLE], tstate[TAILLE], tacti[TAILLE], tpasseoupas[TAILLE], tptsbought[TAILLE], tptsbonus[TAILLE], n;
char tnom[TAILLE][15], tpnom[TAILLE][15],tcateg[TAILLE];
pos = Fillvar(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
Index(&pos,tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, 500);
return 0;
}

296
fRox.c

@ -1,73 +1,273 @@
#include <stdio.h>
#include "fRox.h"
#include <string.h>
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)
{
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;
}
//Fonction recherche, (*coderet = 1 si trouvé, = 0 si pas trouvé.) (*rang = rang a laquel se trouve ou doit se trouver la valeur)
void fRecherche(int *tNoClient, int n, int noClient, int *coderet, int *rang)
void fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang)
{
int i;
for(i = 0; i < n; i++)
{
if(tNoClient[i] == noClient)
{
*coderet = 1;
*rang = i;
return;
}
if(tNoClient[i] > noClient)
*rang = i;
return;
}
int i;
for(i = 0; i < n; i++)
{
if(tAd[i] == noClient)
{
*coderet = 1;
*rang = i;
return;
}
if(tAd[i] > noClient)
*rang = i;
return;
}
}
//Affichage D'UN client avec toutes ses données.
void fAffichage1Client(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient )
void fAffichage1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient )
{
int i, coderet, rang, trouve, NonTrouve;
fRecherche(tNoClient, n, noClient, &coderet, &rang);
trouve = coderet;
while (trouve == 0)
{
if(coderet == 0)
{
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)
return;
else
fRecherche(tNoClient, n, noClient, &coderet, &rang);
trouve=coderet;
}
printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n");
printf("%d\t %c%*c \t %c%*c\t %d\t %c\n", tNoClient[rang], tNomClient[rang], tPreClient[rang], tAge[rang], tStatut[rang]);
int i, coderet, rang, trouve, NonTrouve;
fRecherche(tAd, n, noClient, &coderet, &rang);
trouve = coderet;
while (trouve == 0)
{
if(coderet == 0)
{
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)
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]);
}
//Affichage plusieurs client avec toutes les données
int afficheTous(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient )
int afficheTous(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient )
{
int i;
printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n");
for (int i = 0; i < n; ++i)
{
printf("%d\t %c%*c\t %c%*c\t %d\t %c%*c\n", tNoClient, tNomClient, tPreClient, tAge, tStatut);
}
int i;
printf(" N° Client\t Nom\t Prénom\t Age\t Tarif\n");
for (int i = 0; i < n; ++i)
{
printf("%d\t %s\t %s\t %d\t %s\n", tAd, tnom, tpnom, tage, tstate);
}
return i;
}
int nbmEntree()
// calcul du nombre d'entree par jour et l'affiche
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)
return nbentre;
}
// fonction comptage activité
void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx)
{
if ( chx == 1)
*bad += 1;
if ( chx == 2)
*muscu += 1;
if ( chx == 3)
*foot += 1;
if ( chx == 4)
*squa += 1;
if ( chx == 5)
*zumba += 1;
}
//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;
for( i=0; i<tlog ; i++)
(chx1 = tacti[i]/100;
chx2 = (tacti[i]%100)/10;
chx3 = chx2%10;)
if ( chx1 != 0 )
cptAct( &bad, &muscu, &foot, &squa, &zumba, chx1);
totbad = bad;
totmuscu = muscu;
totfoot = foot;
totsqua = squa;
totzumba = zumba;
if ( chx2 != 0 )
cptAct( &bad, &muscu, &foot, &squa, &zumba, chx2);
totbad = bad + totbad;
totmuscu = muscu + totmuscu;
totfoot = foot + totfoot;
totsqua = squa + totsqua;
totzumba = zumba + totzumba;
if ( chx3 != 0 )
cptAct( &bad, &muscu, &foot, &squa, &zumba, chx3);
totbad = bad + totbad;
totmuscu = muscu + totmuscu;
totfoot = foot + totfoot;
totsqua = squa + totsqua;
totzumba = zumba + totzumba;
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");
printf("%d\t %d\t %d\t %d\t %d\t", totbad, totmuscu, totfoot, totsqua, totzumba);
}
//Fonction suppression d'un client
void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *n, int tmax)
{
int coderet, rang, noClient, i;
char contsuppr, confsupp;
printf("Entrez le numero client à supprimer");
scanf("%d", &noClient);
fRecherche(tAd, n, noClient, &coderet, &rang);
if ( coderet == 1 )
{
printf("Confirmation de la suppression? O/N");
scanf("%*c%c%*c", &confsupp)
if ( confsupp == 'O')
{
for ( i = rang ; i < n-1 ; i++)
tAd[i] = tAd[i+1];
tnom[i] = tnom[i+1];
tpnom[i] = tpnom[i+1];
tage[i] = tage[i+1];
tstate[i] = tstate[i+1];
tacti[i] = tacti[i+1];
tpasseoupas[i] = tpasseoupas[i+1];
tptsbought[i] = tptsbought[i+1];
tptsbonus[i] = tptsbonus[i+1];
tcateg[i] = tcateg[i+1];
printf("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", &confsuppr);
}
if( contsuppr == 'O')
{
printf("Veuillez entrer a nouveau le numéro de carte à supprimer");
scanf("%d", &noClient);
fRecherche(tAd, n, noClient, &coderet, &rang);
if ( coderet == 1 )
{
printf("Confirmation de la suppression? O/N");
scanf("%*c%c%*c", &confsupp)
if ( confsupp == 'O')
{
for ( i = rang ; i < n-1 ; i++)
tAd[i] = tAd[i+1];
tnom[i] = tnom[i+1];
tpnom[i] = tpnom[i+1];
tage[i] = tage[i+1];
tstate[i] = tstate[i+1];
tacti[i] = tacti[i+1];
tpasseoupas[i] = tpasseoupas[i+1];
tptsbought[i] = tptsbought[i+1];
tptsbonus[i] = tptsbonus[i+1];
tcateg[i] = tcateg[i+1];
printf("Le client numéro %d a été supprimé", noClient);
return;}
}
}
}

@ -1,8 +1,16 @@
#include <stdio.h>
#define TAILLE 500
#include <string.h>
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
void fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang);
void fAffichage1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient );
int afficheTous(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int n, int noClient );
int affNbmEntree( int *tpasseoupas, int tlog);
void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx);
void affNbParAct(int *tacti, int tlog);
void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *n, int tmax);
int fchargement(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, int *tCActiv, int *tActivite, int *tPasseouPas,int *tPtsBought, int *tPtsBonus, char *tCat, int tmax);
void fRecherche(int *tNoClient, int n, int noClient, int *coderet, int *rang);
void fAffichage1Client(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient );
int afficheTous(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient )

@ -1,14 +1,28 @@
// .h Roxane
int fchargement(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, int *tCActiv, int *tActivite, int *tPasseouPas,int *tPtsBought, int *tPtsBonus, char *tCat, int tmax);
void fRecherche(int *tNoClient, int n, int noClient, int *coderet, int *rang);
void fAffichage1Client(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient );
int afficheTous(int *tNoClient, char *tNomClient, char *tPreClient, int *tAge, char *tStatut, int n, int noClient )
//.h Lo
#include <string.h>
#include <stdio.h>
#define TAILLE 500
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);
void fAffichage1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int noClient, int tmax);
void affNbmEntree(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax);
void cptAct(int *bad, int *muscu, int *foot, int *squa, int * zumba, int chx);
void affNbParAct(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax);
void suppr1Client(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *n, int tmax);
char Card(void);//check si le client a la carte
void creationCompte(int *VSUIVANTE,int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax);
void fRecherche(int *tAd, int n, int noClient, int *coderet, int *rang);
void Name( char *nom, char *prenom);
void scanNandP(char *nom, char *prenom);
int FindData(char *nom, char *prenom, char tnom[][15], char tpnom[][15], int *tpasseoupas, int *tptsbought, char *action, int tmax);
void Recharge(int *tptsbought, int place, char *tcateg);
int ChoiceActi(int nbacti, int *tacti);
int Acti(int i);
int ChoiceMenu(void);
int CheckActi(int nb);
int FindN(int *tAd, int numAd, int *tpasseoupas, int tmax);
void CheckPts(int *tptsbonus, int *tptsbought, int *tpasseoupas, int *tacti, char *tcateg, int place, int acti, int *insuf);
void GereAdhérent(void);
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);
void Loop(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *choix, int *insuf, int place, int nbacti);
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);
void afficheTous (int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg,int n, int tmax);
void changementEtatCarte ( int nclient ,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);
void Index(int *n, int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int tmax);

10000001
nclient.don

File diff suppressed because it is too large Load Diff

414
sae.c

@ -0,0 +1,414 @@
#include "sae.h"
#include <string.h>
#include <stdio.h>
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)
{
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, "%d%*c", &numAd);
fscanf(f, "%s%*c", fnom);
fscanf(f, "%s%*c", fprenom);
fscanf(f, "%d%*c", &age);
fscanf(f, "%d%*c", &state);
fscanf(f, "%d%*c", &acti);
fscanf(f, "%d%*c", &passeoupas);
fscanf(f, "%d%*c", &ptsbought);
fscanf(f, "%d%*c", &ptsbonus);
fscanf(f, "%c%*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, "%d%*c", &numAd);
fscanf(f, "%s%*c", fnom);
fscanf(f, "%s%*c", fprenom);
fscanf(f, "%d%*c", &age);
fscanf(f, "%d%*c", &state);
fscanf(f, "%d%*c", &acti);
fscanf(f, "%d%*c", &passeoupas);
fscanf(f, "%d%*c", &ptsbought);
fscanf(f, "%d%*c", &ptsbonus);
fscanf(f, "%c%*c", &categ);
}
fclose(f);
return i;
}
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;
}
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;
}
}
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%*c", &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("%d%*c", &acti);
while (acti <= 0 && acti >= 6)
{
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);
}
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;
}
return chxacti;
}
int ChoiceMenu(void)
{
int choix;
printf("Recharge carte (1) | Afficher points (2) | Choix activités (3) | Quitter (4)\n");
scanf("%d", &choix);
while (choix > 4 || choix < 1)
{
printf("Entrer un caractère correct 1 | 2 | 3 | 4 \n");
scanf("%d%*c", &choix);
}
return 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])
{
printf("Points suffisants, confirmation ? (O/N) \n");
scanf("%c%*c", &confirm);
if (confirm == 'O')
{
tptsbought[place] -= ptsneeded;
tptsbonus[place] += ptsneeded;
printf("Achat effectué\n");
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]);
}
}
void Loop(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *choix, int *insuf, int place, int nbacti)
{
int chxacti;
char recharge;
while (*choix != 4)
{
if (*choix == 2)
{
printf("La carte dispose de %d points.\n", tptsbought[place]);//infos sur ses points
}
if (*choix == 1)
{
Recharge(tptsbought, place, tcateg);
}
if (*choix == 3)
{
printf("Nombre d'activités souhaitées ? (max 3)\n");
scanf("%*c%d", &nbacti);
while (nbacti < 0 || nbacti > 3)
{
printf("Nombre d'activités incorrect (max 3)\n");
scanf("%*c%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%*c", &recharge);
if (recharge == 'R')
{
Recharge(tptsbought, place, tcateg);
}
}
}
*choix = ChoiceMenu();
}
}

15
sae.h

@ -0,0 +1,15 @@
#define TAILLE 500
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);
char Card(void);
void Name( char *nom, char *prenom);
int FindData(char *nom, char *prenom, char tnom[][15], char tpnom[][15], int *tpasseoupas, int *tptsbought, char *action, int tmax);
void Recharge(int *tptsbought, int place, char *tcateg);
int ChoiceActi(int nbacti, int *tacti);
int Acti(int i);
int ChoiceMenu(void);
int CheckActi(int nb);
int FindN(int *tAd, int numAd, int *tpasseoupas, int tmax);
void CheckPts(int *tptsbonus, int *tptsbought, int *tpasseoupas, int *tacti, char *tcateg, int place, int acti, int *insuf);
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);
void Loop(int *tAd, char tnom[][15], char tpnom[][15], int *tage, int *tstate, int *tacti, int *tpasseoupas, int *tptsbought, int *tptsbonus, char *tcateg, int *choix, int *insuf, int place, int nbacti);

@ -1,72 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "saelo.h"
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%*c", nom);
printf("Et votre prénom ?\n");
scanf("%s%*c", prenom);
}
int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state, int *acti, int *passeoupas, int *ptsbought, int *ptsbonus, char *categ)//lis le fichier et met les valeurs dans les variables
{
if (feof(f))
{
return -1;
}
fscanf(f, "%6d\n", 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);
}
/*
void ifnoCard(int *testnom, int *testpnom, int *erreur, char *fnom, char *fprenom, char *nom, char *prenom, FILE *f, int numAd, int age, int state, int acti, int passeoupas, int ptsbought, int ptsbonus, char categ)
{
puts("Recherche de la carte !");
testnom = strcmp(fnom, nom);//comparer nom du fichier et nom donné
testpnom = strcmp(fprenom, prenom);//comparer prénom du fichier et prénom donné
while (testnom!=0 && testpnom!=0 && erreur != -1)// tant que les 2 différents
{
erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//rescan
testnom = strcmp(fnom, nom);//recomparaison nom
testpnom = strcmp(fprenom, prenom);//recomparaison prénom
}
if(erreur == -1)
{
printf("Recherche non aboutie : numéro non enregistré...\n");//si le client n'est au final pas enregistré
return;
}
}
*/

@ -1,4 +0,0 @@
void Name( char *nom, char *prenom);
char Card(void);
int Fillvar(FILE *f, int *numAd, char *fnom, char *fprenom, int *age, int *state, int *acti, int *passeoupas, int *ptsbought, int *ptsbonus, char *categ);
void ifnoCard(int *testnom, int *testpnom, int *erreur, char *fnom, char *fprenom, char *nom, char *prenom, FILE *f, int *numAd, int age, int state, int acti, int passeoupas, int ptsbought, int ptsbonus, char categ);

BIN
test

Binary file not shown.

BIN
testlo

Binary file not shown.

Binary file not shown.

@ -1,13 +1,20 @@
#include <stdio.h>
#include <string.h>
#include "fRox.h"
void main(void)
{ int *tNoClient, *tAge, toto, *tCActiv, *tActivite, *tPtsBought, *tPtsBonus;
char *tNomClient, *tPreClient, *tCat;
int main(void)
{ char nom[15], prenom[15], fnom[15], fprenom[15], bCard, member, categ, recharge, acti1[15], acti2[15], acti3[15];
int erreur, numAd, age, state, acti, passeoupas, ptsbought,ptsbonus, numCard, avoiravecevann, testnom, testpnom, found = 0, ptrecharge, nbacti, numacti, s1, s2, s3, m1, m2, m3, f1, f2, f3, b1, b2, b3, z1, z2, z3;
toto =fchargement(tNoClient, tNomClient, tPreClient, tAge, tCActiv, tActivite, tActivite, tPtsBought, tPtsBonus, tCat, 500);
printf("%d\n", toto);
FILE *f;
f = fopen("donneeClient.don","r");
if (f==NULL){printf("Erreur ouverture fichier clients"); fclose(f); return -1;}
erreur = Fillvar(numAd, fnom, prenom, age, state, acti, passeoupas, ptsbought, ptsbonus, categ, 500)//lis le fichier et met les valeurs dans les tableaux
;
suppr1Client(numAd, fnom, prenom, age, state, acti, passeoupas, ptsbought, ptsbonus, categ, erreur, 500);
return 0;
}

@ -1,946 +0,0 @@
#include <stdio.h>
#include <string.h>
#include "saelo.h"
void main(void)
{
char nom[15], prenom[15], fnom[15], fprenom[15], bCard, member, categ, recharge, acti1[15], acti2[15], acti3[15];
int erreur, numAd, age, state, acti, passeoupas, ptsbought,ptsbonus, numCard, avoiravecevann, testnom, testpnom, found = 0, ptrecharge, nbacti, numacti, s1, s2, s3, m1, m2, m3, f1, f2, f3, b1, b2, b3, z1, z2, z3;
FILE *f;
f = fopen("donneeClient.don","r");
if (f==NULL){printf("Erreur ouverture fichier clients"); fclose(f); return;}
//accueil
printf("Bienvenue ! Déjà membre ou création de compte ? Créer (C) ou Membre (M)\n");
scanf("%c%*c", &member);
bCard = Card();
erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);
//si nouveau client / créer nouveau compte
if (member == 'C')
{
/*creationCompte(int avoiravecevann);*/
avoiravecevann = 2;
}
//demander nom & prénom
Name(nom, prenom);
//si client n'a pas son numéro de carte
if (bCard == 'N')
{
puts("Recherche de la carte !");
testnom = strcmp(fnom, nom);//comparer nom du fichier et nom donné
testpnom = strcmp(fprenom, prenom);//comparer prénom du fichier et prénom donné
while (erreur != -1 && found == 0)// tant que pas d'erreur ou pas trouvé
{
if (testnom == 0)
{
if (testpnom == 0)
found = 1;
break;
}
erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//rescan
testnom = strcmp(fnom, nom);//recomparaison nom
testpnom = strcmp(fprenom, prenom);//recomparaison prénom
}
if(erreur == -1 || found == 0)//si pas trouvé ou fin de fichier
{
printf("Recherche non aboutie : numéro non enregistré...\n");//si le client n'est au final pas enregistré
return;
}
if (found == 1)//si trouvé
{
if (passeoupas == 1)//si client déjà passé
{
printf("Déjà passé, nombre possible de passage dans une journée : 1...\n");
return;
}
printf("La carte dispose de %d points, rechargement de carte souhaité ? (O/N) \n", ptsbought);//infos sur ses points + recharge ?
scanf("%c%*c", &recharge);
if (recharge == 'O')//si client souhaite recharger carte
{
printf("De combien de dizaine de points souhaitez vous recharger ?\n");
scanf("%d%*c", &ptrecharge);
printf("%d", ptrecharge);
}
}
}
if (bCard == 'O')//si client a la carte
{
printf("Veuillez entrer numéro de carte ?\n");
scanf("%d%*c", &numCard);
while (numCard < 100000 || numCard > 999999)//vérifier numéro carte correct (6 chiffres)
{
printf("Veuillez saisir un numéro de carte correct\n");
scanf("%d%*c", &numCard);
}
erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//scanner le document et récupérer les variables
while (numCard != numAd && erreur == 0)//tant que numéro de carte donné différent de celui du fichier
{
erreur = Fillvar(f, &numAd, fnom, fprenom, &age, &state, &acti, &passeoupas, &ptsbought, &ptsbonus, &categ);//rescan
}
if (passeoupas == 1)
{
printf("Déjà passé, nombre possible de passage dans une journée : 1...");
return;
}
printf("La carte dispose de %d points, rechargement de carte souhaité ? (O/N) \n", ptsbought);//nombre de points qu'il a + recharger ou non
scanf("%c", &recharge);
}
printf("Combien d'activités souhaitées aujourd'hui ? (max 3)\n");
scanf("%d%*c", &nbacti);
while (nbacti > 3 || nbacti <= 0)
{
printf("Nombre d'activités incorrect, veuillez re-saisir (max 3)\n");
scanf("%d%*c", &nbacti);
}
//si il n'y a qu'un activité
if (nbacti == 1)
{
printf("Quelle est-elle ?(zumba/badminton/musculation/football/squash)\n");
scanf("%s", acti1);
z1 = strcmp(acti1, "zumba");
b1 = strcmp(acti1, "badminton");
printf("%d", b1);
m1 = strcmp(acti1, "musculation");
s1 = strcmp(acti1, "squash");
f1 = strcmp(acti1, "football");
while(z1 != 0 && b1 != 0 && m1 != 0 && s1 != 0 && f1 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti1);
}
if (z1 == 0)
{
numacti = 5;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b1 == 0)
{
numacti = 1;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s1 == 0)
{
numacti = 4;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f1 == 0)
{
numacti = 3;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m1 == 0)
{
numacti = 2;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
}
//si il y a 2 activités
if (nbacti == 2)
{
printf("Quelles sont-elles ?(zumba/badminton/musculation/football/squash)\n");
scanf("%s%*c", acti1);
scanf("%s%*c", acti2);
z1 = strcmp(acti1, "zumba");
b1 = strcmp(acti1, "badminton");
m1 = strcmp(acti1, "musculation");
s1 = strcmp(acti1, "squash");
f1 = strcmp(acti1, "football");
while(z1 != 0 && b1 != 0 && m1 != 0 && s1 != 0 && f1 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti1);
}
z2 = strcmp(acti2, "zumba");
b2 = strcmp(acti2, "badminton");
m2 = strcmp(acti2, "musculation");
s2 = strcmp(acti2, "squash");
f2 = strcmp(acti2, "football");
while(z2 != 0 && b2 != 0 && m2 != 0 && s2 != 0 && f2 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti2);
}
//première activité
if (z1 == 0)
{
numacti = 5;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b1 == 0)
{
numacti = 1;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s1 == 0)
{
numacti = 4;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f1 == 0)
{
numacti = 3;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m1 == 0)
{
numacti = 2;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
//deuxième activité
if (z2 == 0)
{
numacti += 5*10;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b2 == 0)
{
numacti += 1*10;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s2 == 0)
{
numacti += 4*10;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f2 == 0)
{
numacti += 3*10;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m2 == 0)
{
numacti += 2*10;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
}
if (nbacti == 3)
{
printf("Quelles sont-elles ?(zumba/badminton/musculation/football/squash)\n");
scanf("%s", acti1);
scanf("%s", acti2);
scanf("%s", acti3);
z1 = strcmp(acti1, "zumba");
b1 = strcmp(acti1, "badminton");
m1 = strcmp(acti1, "musculation");
s1 = strcmp(acti1, "squash");
f1 = strcmp(acti1, "football");
while(z1 != 0 && b1 != 0 && m1 != 0 && s1 != 0 && f1 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti1);
}
z2 = strcmp(acti2, "zumba");
b2 = strcmp(acti2, "badminton");
m2 = strcmp(acti2, "musculation");
s2 = strcmp(acti2, "squash");
f2 = strcmp(acti2, "football");
while(z2 != 0 && b2 != 0 && m2 != 0 && s2 != 0 && f2 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti2);
}
z3 = strcmp(acti3, "zumba");
b3 = strcmp(acti3, "badminton");
m3 = strcmp(acti3, "musculation");
s3 = strcmp(acti3, "squash");
f3 = strcmp(acti3, "football");
while(z3 != 0 && b3 != 0 && m3 != 0 && s3 != 0 && f3 != 0)
{
printf("Veuillez saisir une activité correcte \n");
scanf("%s", acti3);
}
//première activité
if (z1 == 0)
{
numacti = 5;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b1 == 0)
{
numacti = 1;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s1 == 0)
{
numacti = 4;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f1 == 0)
{
numacti = 3;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m1 == 0)
{
numacti = 2;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
printf("%d", numacti);
//deuxième activité
if (z2 == 0)
{
numacti += 5*10;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b2 == 0)
{
numacti += 1*10;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s2 == 0)
{
numacti += 4*10;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f2 == 0)
{
numacti += 3*10;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m2 == 0)
{
numacti += 2*10;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
printf("%d", numacti);
//troisième activité
if (z3 == 0)
{
numacti += 5*100;
if (ptsbought < 5)
{
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (b3 == 0)
{
numacti += 1*100;
if (ptsbought < 8)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 8;
ptsbonus += 8;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (s3 == 0)
{
numacti += 4*100;
if (ptsbought < 10)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 10;
ptsbonus += 10;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (f3 == 0)
{
numacti += 3*100;
if (ptsbought < 5)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 5;
ptsbonus += 5;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
if (m3 == 0)
{
numacti += 2*100;
if (ptsbought < 15)
printf("Pas assez de points disponibles sur la carte, rechargement souhaité ? (O/N)\n");
scanf("%c%*c", &recharge);
if (recharge == 'N')
{
return;
}
else
{
//RELOAD AND CONTINUE
return;
}
ptsbought -= 15;
ptsbonus += 15;
if (ptsbonus >= 100)
{
ptsbought += 15;
ptsbonus -= 100;
}
}
}
printf("%d", numacti);
return;
}

@ -0,0 +1,54 @@
#include "sae.h"
#include <string.h>
#include <stdio.h>
void main(void)
{
int tAd[TAILLE], tage[TAILLE], tstate[TAILLE], tacti[TAILLE], tpasseoupas[TAILLE], tptsbought[TAILLE], tptsbonus[TAILLE], place, nbacti, choix, chxacti, numAd, ret, insuf, day = 0;
char tcateg[TAILLE], nom[TAILLE], pnom[TAILLE], fnom[TAILLE], fpnom[TAILLE], bCard, tnom[TAILLE][15], tpnom[TAILLE][15], action, 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)
{
main();
}
}
choix = ChoiceMenu();
Loop(tAd, tnom, tpnom, tage, tstate, tacti, tpasseoupas, tptsbought, tptsbonus, tcateg, &choix, &insuf, place, nbacti);
if (choix == 4)
{
//menuglobal()
return;
}
/*while (choix != 4)
{
choix =ChoiceMenu();
}*/
}

@ -6,3 +6,4 @@
4
5
6
7
Loading…
Cancel
Save