Amélioration des fonctions

master
Kyllian CHABANON 2 years ago
parent 1b246937d2
commit c032759e0f

@ -41,51 +41,59 @@ int RechercheAdherent(int tNoCarte[], int nbElem, int noCarte, int *trouve)
* \param tCarteActive tableau contenant l'état de chaque carte
* \param nbElem taille logique des tableaux
* \param noCarte numéro de la carte à créditer
*
*
* Permet d'ajouter des points à la carte correspondant au numéro de carte donné en paramètre.
* Il y a des bonus donnés selon le nombre de points ajoutés :
* - En dessous de 20 : aucun bonus
* - Entre 21 et 50 : 5%
* - Entre 51 et 100 : 10%
* - Au dessus de 101 : 15%
*/
*/
void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbElem, int noCarte)
{
int pointsCarte, trouve, pas;
int pointsCarte, trouve, pas, err = 1;
pas = RechercheAdherent(tNoCarte, nbElem, noCarte, &trouve);
if (trouve == 1)
{
printf("Entrez le nombre de points à ajouter : ");
scanf("%d", &pointsCarte);
if (pointsCarte > 0 && pointsCarte <= 20)
if (tCarteActive[pas] == 0)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte;
tCarteActive[pas] = 1;
printf("La carte est active.\n");
printf("La carte est désactivée. Achat de points impossible.");
return;
}
else if (pointsCarte > 20 && pointsCarte <= 50)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (5 / 100.0));
tCarteActive[pas] = 1;
printf("Merci pour votre achat. Nous vous offrons 5%% supplémentaires.\nDe plus, votre carte est active.\n");
}
else if (pointsCarte > 50 && pointsCarte <= 100)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (10 / 100.0));
tCarteActive[pas] = 1;
printf("Merci pour votre achat. Nous vous offrons 10%% supplémentaires.\nDe plus, votre carte est active.\n");
}
else if (pointsCarte > 100)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (15 / 100.0));
tCarteActive[pas] = 1;
printf("Merci pour votre achat. Nous vous offrons 15%% supplémentaires.\nDe plus, votre carte est active.\n");
}
else
printf("Entrez le nombre de points à ajouter : ");
scanf("%d", &pointsCarte);
while (err = 1)
{
printf("Le nombre de points est incorrect.\n");
printf("Veuillez ressaisir le nombre de points à ajouter : ");
scanf("%d", &pointsCarte);
if (pointsCarte > 0 && pointsCarte <= 20)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte;
printf("Merci pour votre achat. Vous avez crédité la carte n°%d de %d points, ce qui fait un total de %d points.\n", noCarte, pointsCarte, tPointsCarte[pas]);
err = 0;
}
else if (pointsCarte > 20 && pointsCarte <= 50)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (5 / 100.0));
printf("Merci pour votre achat. Vous avez crédité la carte n°%d de %d points. De plus, nous vous offrons 5%% supplémentaires. Nombre de points total : %d\n", noCarte, pointsCarte, tPointsCarte[pas]);
err = 0;
}
else if (pointsCarte > 50 && pointsCarte <= 100)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (10 / 100.0));
printf("Merci pour votre achat. Vous avez crédité la carte n°%d de %d points. De plus, nous vous offrons 10%% supplémentaires. Nombre de points total : %d\n", noCarte, pointsCarte, tPointsCarte[pas]);
err = 0;
}
else if (pointsCarte > 100)
{
tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte * (1 + (15 / 100.0));
printf("Merci pour votre achat. Vous avez crédité la carte n°%d de %d points. De plus, nous vous offrons 15%% supplémentaires. Nombre de points total : %d\n", noCarte, pointsCarte, tPointsCarte[pas]);
err = 0;
}
else
{
printf("Le nombre de points est incorrect.\n");
printf("Veuillez ressaisir le nombre de points à ajouter : ");
scanf("%d", &pointsCarte);
}
}
}
else
@ -104,9 +112,9 @@ void AjoutPoints(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbE
* \param tNbActivitesJour tableau contenant le nombre d'activités du jour
* \param nbElem taille logique des tableaux
*
* Mettre les points bonus
* Mettre les points bonus
* interdire à un adhérent de fréquenter le centre plus dune fois par jour
*/
*/
void DebitCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int nbElem)
{
int choix, trouve, pas, noCarte;
@ -174,7 +182,7 @@ void DebitCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int tNbA
if (tPointsCarte[pas] >= 10)
{
tPointsCarte[pas] = tPointsCarte[pas] - 10;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1 ;
tNbActivitesJour[pas] = tNbActivitesJour[pas] + 1;
printf("Vous avez pratiqué Cours de natation.\n");
}
else

@ -67,7 +67,7 @@ void GestionMenus(void)
}
else if (choix == 5)
{
printf("Saisissez le nombre de points à ajouter : ");
printf("Entre le numéro de la carte à créditer : ");
scanf("%d", &noCarte);
AjoutPoints(tNoCarte, tPointsCarte, tCarteActive, nbElem, noCarte);
}

@ -23,7 +23,7 @@ A chaque entrée, le client peut choisir plusieurs activités. Sa carte se fait
**Antoine** : Ouverture.c, Sauvegarde.c, Menus.c, Global.c, GestionAdherents.c, Affichage.c
**Ayour** : Affichage.c, Menus.c, Global.c, GestionAdherents.c
**Kyllian** : GestionPoints.c, Global.c, Menu.c, GestionAdherents.c
**Kyllian** : GestionPoints.c, Global.c, Menus.c, GestionAdherents.c
### Fonctionnalités

@ -8,7 +8,7 @@
/**
* \brief Sauvegarde les nouvelles données dans les fichiers
* \author Antoine Perederii
* \author Antoine Perederii - Kyllian Chabanon
* \param tNoCarte tableau contenant les numéros de toutes les cartes
* \param tAge tableau contenant les âges des membres
* \param tPointsCarte tableau contenant le nombre de points restants sur chaque carte
@ -35,11 +35,11 @@ int Sauvegarde(int tNoCarte[], int tAge[], int tPointsCarte[], int tCarteActive[
printf("Problème d'ouverture du fichier ActivitesJour.don en écriture.\n");
return -1;
}
for (i = 0; i < (nbElem - 1); i++)
for (i = 0; i < nbElem; i++)
{
fprintf(membres, "%d\t%d\t\t%d\t\t%d\n", tNoCarte[i], tAge[i], tPointsCarte[i], tCarteActive[i]);
}
for (j = 0; j < (nbElem - 1); j++)
for (j = 0; j < nbElem; j++)
{
fprintf(jour, "%d\t\t%d\n", tDate[j], tNbActivitesJour[j]);
}

Loading…
Cancel
Save