modif de la fonction de debit de points par rapport aux activités sur une carte

master
Antoine PEREDERII 2 years ago
parent 7d6f9c270c
commit d74732f40c

@ -9,6 +9,7 @@ int OuvertureActivitesJour(int tNbActivitesJour[], int tDate[], int tMax);
/* Fonctions des menus */ /* Fonctions des menus */
int ChoixMenu(void); int ChoixMenu(void);
int ChoixMenuAffichage(void); int ChoixMenuAffichage(void);
int choixMenuActivites(void);
/* Fonctions d'affichage */ /* Fonctions d'affichage */
void Affichage1Adherent(int tNoCarte[], int tAge[], int tPointsCarte[], int tCarteActive[], int nbElem); void Affichage1Adherent(int tNoCarte[], int tAge[], int tPointsCarte[], int tCarteActive[], int nbElem);
@ -33,4 +34,4 @@ void ModificationActivationCarte(int tNoCarte[], int tCarteActive[], int nbElem)
/* Fonctions de gestion des points */ /* Fonctions de gestion des points */
void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbElem, int noCarte); void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbElem, int noCarte);
void DebitActivitee(int tNoCarte[], int tCarteActive[], int tNbActivitesJour[], int nbElem); void DebitCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int nbElem);

@ -150,7 +150,7 @@ void ModificationActivationCarte(int tNoCarte[], int tCarteActive[], int nbElem)
scanf("%d", &choix); scanf("%d", &choix);
if (choix == 1) if (choix == 1)
{ {
printf("\nPourquoi voulez-vous activer la carte ?\n1.\tCarte retrouvée\n2.\tNouvelle carte\n3.\tLevée de sanction\n"); printf("\nPourquoi voulez-vous activer la carte ?\n1.\tCarte retrouvée\n2.\tNouvelle carte à la place de l'ancienne\n3.\tLevée de sanction\n");
printf("\nOption choisie : "); printf("\nOption choisie : ");
scanf("%d", &choixRaison); scanf("%d", &choixRaison);

@ -2,7 +2,7 @@
* \file GestionPoints.c * \file GestionPoints.c
* \brief Contient les fonctions pour la gestion des points des adhérents * \brief Contient les fonctions pour la gestion des points des adhérents
* \author * \author
*/ */
#include "Fonctions.h" #include "Fonctions.h"
@ -14,7 +14,7 @@
* \param noCarte numéro de la carte à rechercher * \param noCarte numéro de la carte à rechercher
* \param trouve pointeur qui prend comme valeur 1 si le numéro a été trouvé et 0 sinon * \param trouve pointeur qui prend comme valeur 1 si le numéro a été trouvé et 0 sinon
* \return l'index où se trouve le numéro de la carte recherché, s'il n'y est pas, retourne l'endroit où il doit être inséré * \return l'index où se trouve le numéro de la carte recherché, s'il n'y est pas, retourne l'endroit où il doit être inséré
*/ */
int RechercheAdherent(int tNoCarte[], int nbElem, int noCarte, int *trouve) int RechercheAdherent(int tNoCarte[], int nbElem, int noCarte, int *trouve)
{ {
int i; int i;
@ -41,7 +41,7 @@ int RechercheAdherent(int tNoCarte[], int nbElem, int noCarte, int *trouve)
* \param tCarteActive tableau qui contient l'état de chaque carte * \param tCarteActive tableau qui contient l'état de chaque carte
* \param nbElem taille logique des tableaux * \param nbElem taille logique des tableaux
* \param noCarte numéro de la carte à créditer * \param noCarte numéro de la carte à créditer
*/ */
void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbElem, int noCarte) void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbElem, int noCarte)
{ {
int pointsCarte, trouve, pas; int pointsCarte, trouve, pas;
@ -95,10 +95,16 @@ void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbE
* \param tCarteActive tableau qui contient l'état de chaque carte * \param tCarteActive tableau qui contient l'état de chaque carte
* \param tNbActivitesJour tableau contenant le nombre d'activité qui a été faite dans la journée * \param tNbActivitesJour tableau contenant le nombre d'activité qui a été faite dans la journée
* \param nbElem taille logique des tableaux * \param nbElem taille logique des tableaux
*/
/*
Mettre les points bonus
interdire à un adhérent de fréquenter le centre plus dune fois par jour
*/ */
void DebitActivitee(int tNoCarte[], int tCarteActive[], int tNbActivitesJour[], int nbElem) void DebitCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int nbElem)
{ {
int noCarte, trouve, pas, pointsCarte; int choix, trouve, pas, noCarte;
char reponse; char reponse;
printf("Entrez le numéro de la carte de l'adhérent recherché : "); printf("Entrez le numéro de la carte de l'adhérent recherché : ");
scanf("%d", &noCarte); scanf("%d", &noCarte);
@ -107,31 +113,125 @@ void DebitActivitee(int tNoCarte[], int tCarteActive[], int tNbActivitesJour[],
{ {
if (tCarteActive[pas] == 1) if (tCarteActive[pas] == 1)
{ {
printf("Voulez-vous désactiver cette carte ? (o/n)\n"); while (choix != 10)
scanf("%*c%c", &reponse);
if (reponse == 'O' || reponse == 'o')
{ {
tCarteActive[pas] = 0; choix = choixMenuActivites();
printf("La carte est desactivée.\n"); switch (choix)
} {
else case 1:
{ if (tPointsCarte[pas] >= 0)
printf("La carte est toujours active.\n"); {
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué la piscine.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 2:
if (tPointsCarte[pas] >= 0)
{
tPointsCarte[pas] = tPointsCarte[pas] - 0;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué l'option accessibilité.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 3:
if (tPointsCarte[pas] >= 5)
{
tPointsCarte[pas] = tPointsCarte[pas] - 5;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Aquakid + Aquaplouf.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 4:
if (tPointsCarte[pas] >= 9)
{
tPointsCarte[pas] = tPointsCarte[pas] - 9;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Aquafit.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 5:
if (tPointsCarte[pas] >= 10)
{
tPointsCarte[pas] = tPointsCarte[pas] - 10;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1 ;
printf("Vous avez pratiqué Cours de natation.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 6:
if (tPointsCarte[pas] >= 12)
{
tPointsCarte[pas] = tPointsCarte[pas] - 12;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Cours de gymnastique aquatique.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 7:
if (tPointsCarte[pas] >= 15)
{
tPointsCarte[pas] = tPointsCarte[pas] - 15;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Vagues.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 8:
if (tPointsCarte[pas] >= 20)
{
tPointsCarte[pas] = tPointsCarte[pas] - 20;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Aquabike.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
case 9:
if (tPointsCarte[pas] >= 35)
{
tPointsCarte[pas] = tPointsCarte[pas] - 35;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Aquafamily.\n");
}
else
{
printf("Vous n'avez pas assez de points.\n");
}
break;
}
choix = choixMenuActivites();
} }
} }
else else
{ {
printf("La carte est desactivée. Voulez-vous la réactiver ? (o/n)\n"); printf("Votre carte est inactive. Veuillez La réactivé.\n");
scanf("%*c%c", &reponse);
if (reponse == 'O' || reponse == 'o')
{
tCarteActive[pas] = 1;
printf("La carte est activée.\n");
}
else
{
printf("La carte est toujours desactivée.\n");
}
} }
} }
else else

@ -6,22 +6,6 @@
#include "Fonctions.h" #include "Fonctions.h"
/*
A une séance dune activité donnée correspond un certain nombre de
points.
Exemple :
Une séance de musculation : 10 points
Une séance daquagym : 15 points
Une séance de SPA : 12 points
A chaque entrée au centre, un adhérent peut choisir une ou plusieurs activités en même temps. Il peut
par exemple faire une séance de musculation suivie dune séance de SPA, sa carte se verra débiter de
22 points.
Attribution de points lors d'un sceance qui dépende de critères socioprofessionnels (retraités, étudiants, ... AGE
Votre application doit pouvoir interdire à un adhérent de fréquenter le centre plus dune fois par jour
*/
/** /**
* \brief Permet de gérer les menus en appelant une fonction pour chaque choix fait par l'utilisateur * \brief Permet de gérer les menus en appelant une fonction pour chaque choix fait par l'utilisateur
* \author * \author
@ -93,7 +77,7 @@ void GestionMenus(void)
} }
else if (choix == 7) else if (choix == 7)
{ {
DebitActivitee(tNoCarte, tCarteActive, tNbActivitesJour, nbElem); DebitCarte(tNoCarte, tPointsCarte, tCarteActive, tNbActivitesJour, nbElem);
} }
choix = ChoixMenu(); choix = ChoixMenu();
} }

@ -46,4 +46,23 @@ int ChoixMenuAffichage(void)
printf("\nOption choisie : "); printf("\nOption choisie : ");
scanf("%*c%c", &choix); scanf("%*c%c", &choix);
return choix; return choix;
}
int choixMenuActivites(void)
{
int choix;
printf("\nChoix activités :\n");
printf("1.\tPiscine, \t\t\t0pt\n");
printf("2.\tOption accessibilité, \t\t0pt\n");
printf("3.\tAquakid + Aquaplouf, \t\t5pt\n");
printf("4.\tAquafit, \t\t\t9pt\n");
printf("5.\tCours de natation, \t\t10pt\n");
printf("6.\tCours de gymnastique aquatique, 12pt\n");
printf("7.\tVagues, \t\t\t15pt\n");
printf("8.\tAquabike, \t\t\t20pt\n");
printf("9.\tAquafamily, \t\t\t35pt\n");
printf("10.\tQuitter\n");
printf("\nOption choisie : ");
scanf("%d", &choix);
return choix;
} }

BIN
exe

Binary file not shown.
Loading…
Cancel
Save