diff --git a/ActivitesJour.don b/ActivitesJour.don index 7224ff2..af64d63 100644 --- a/ActivitesJour.don +++ b/ActivitesJour.don @@ -1,2 +1,10 @@ -Date nbActivitesJour -13052022 120 + Date nbActivitesJour +12082022 500 +5092022 525 +7092022 740 +8092022 812 +9092022 850 +10092022 620 +11092022 601 +12092022 422 +13092022 501 diff --git a/README.md b/README.md index a167d2e..0235987 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,44 @@ _Les adhérents bénéficient d’une carte qui leur permet d’accéder à diff - Ajouter un adhérent - Supprimer un adhérent -- Modifier le profil d'un adhérent via le n° de carte +- Modifier l'age d'un adhérent via le n° de carte - Afficher tous les adhérents -- Alimenter une carte +- Alimenter une carte en points - Activer/Désactiver une carte (déclaration de perte d'une carte, sanction suite à un mauvais comportement, carte retrouvée...) - Afficher les infos d'un adhérent - Afficher le nombre d'entrées par activité dans la journée - Afficher le nombre d'adhérents - ... - +### Priorité de travail +- Menu : +``` +-- Afficher les infos d'un adherent (NoCarte, age, PointsCarte, CarteActive) +-- Afficher les infos de tous les adherents (NoCarte, age, PointsCarte, CarteActive, affiche nb de carte(adherents)) +-- Afficher le nb d'entrées totale de la journée +-- Afficher le nb d'entrées totale de toutes les journées +-- Afficher le nb d'adherents +-- Ajout d'un client +-- Modification de l'age d'un client +-- Supprimer un client +-- Ajout de points ==> carte devient Active +-- Modification de l'activation de la carte ==> Pert, sanction, carte retrouvée +-- Activité faite ==> Perte de points, ajout d'1 au nombre d'activités du jour depuis creation +-- quitter (sauvegarde) +``` +- Chargement +- Affichage d'un adherent +- Affichage de tous les adhérents +- Affichage de nb d'entrées journées +- Affichage nb d'entrées ttes journées +- Afficher le nb d'adherents +- Menu +- Gestion Menu (Global) +- Recherche d'un client (NoCarte) +- Ajout d'un client +- Modification de l'age d'un client +- Supprimer un client +- Ajout de points ==> carte devient Active entre 0 et 20 rien, entre 20 et 50 5%, entre 50 et 100 10%, plus 15% +- Modification de l'activation de la carte ==> Pert, sanction, carte retrouvée +- Activité faite ==> Perte de points, ajout d'1 au nombre d'activités du jour depuis creation +- Sauvegarde Documentation == les structures ex : tableaux pour rentrer les points …. diff --git a/SAE.c b/SAE.c index 0dd887b..03ce7b2 100644 --- a/SAE.c +++ b/SAE.c @@ -118,59 +118,68 @@ int recherche(int tab[], int tailleLog, int valeur, int *trouve) return tailleLog; } - - - - - - - - - - - - - - - - - - - - - - - - /* -void pointsBonus() -{ -} -void Sauvegarde(int tNoCarte[],int tnom[], int tprenom[], int tage[], int tPointsCarte[], int tCarteActive[], int tNbActivitéesJour[], int nbelem) +int Sauvegarde(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int tDate[], int nbelem) { - int i; - FILE *flot; - flot = fopen("membres.don", "w"); + int i, j; + FILE *flot, *jour; + flot = fopen("membres.don", "a"); + jour = fopen("ActivitesJour.don", "a"); if(flot == NULL) { printf("Pb d'ouverture du fichier membres.don\n"); return -1; } + if(jour == NULL) + { + printf("Pb d'ouverture du fichier ActivitesJour.don\n"); + return -1; + } for(i = 0; i < (nbelem-1); i++) { - fprintf(flot, "%d\t%d\t%d\t%d\t%d\t%d\t%d\n", tNoCarte[i], tnom[i], tprenom[i], tage[i], tPointsCarte[i], tCarteActive[i], tNbActivitéesJour[i]); + fprintf(flot, "\t%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++) + { + fprintf(jour, "%d\t\t%d\n", tDate[j], tNbActivitesJour[j]); } + fclose(jour); fclose(flot); } -int rechercheEtCreation(int tNoCarte[], int nbClients) +int ajoutPointsCarte(int tNoCarte[], int tPointsCarte[], int tCarteActive[], int nbelem) +{ + int i, NoCarte, pointsCarte, CarteActive; + printf("Entrez le numero de carte de l'adherent: "); + scanf("%d", &NoCarte); + for(i = 0; i < nbelem; i++) + { + if(NoCarte == tNoCarte[i]) + { + printf("Entrez le nombre de points a ajouter: "); + scanf("%d", &pointsCarte); + tPointsCarte[i] += pointsCarte; + printf("Le nombre de points de l'adherent est maintenant de %d\n", tPointsCarte[i]); + if(tPointsCarte[i] >= 1000) + { + tCarteActive[i] = 1; + printf("La carte de l'adherent est maintenant active\n"); + } + return 0; + } + } + printf("Le numero de carte n'existe pas\n"); + return -1; +} + +int rechercheEtCreation(int tNoCarte[], int nbelem) { int NoCarte, i; - for( i=0; i < nbClients; i++) + for( i=0; i < nbelem; i++) { - if(i != tNoCarte[i]) + if((i + 1) != tNoCarte[i]) { return i; } @@ -178,6 +187,52 @@ int rechercheEtCreation(int tNoCarte[], int nbClients) return i; } +int CreationAdherents(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int nbelem) +{ + int NoCarte, age, pointsCarte, CarteActive, pas; + char reponse; + printf("Donnez l'âge du client :\n"); + scanf("%d", &age); + pas = rechercheEtCreation(tNoCarte, nbelem); + for(j=nbelem; j> pas; j--) + { + tNoCarte[j] = tNoCarte[j-1]; + tage[j] = tage[j-1]; + tPointsCarte[j] = tPointsCarte[j-1]; + tCarteActive[j] = tCarteActive[j-1]; + } + tNoCarte[pas] = + tMatieres[i]= matieres; + tCoeff[i] = coeff; + nbMatieres = nbMatieres + 1; + return nbMatieres; + tNoCarte[pas] = tNoCarte[pas] + 1; + tage[pas] = age; + tPointsCarte[pas] = 0; + tCarteActive[pas] = 0; + printf("Le numero de carte de l'adherent qui a %d ans est %d.\nLa carte n'est pas active car il n'y a pas de points dessus.\nVoulez-vous en ajouter ? (O / N)", tage[pas], tNoCarte[pas]); + scanf("%*c%c", &reponse); + if(reponse == 'O' || reponse == 'o') + { + printf("Entrez le nombre de points a ajouter: "); + scanf("%d", &pointsCarte); + if(pointsCarte > 0) + tPointsCarte[pas] = tPointsCarte[pas] + pointsCarte; + printf("Le nombre de points de l'adherent est maintenant de %d\nVotre carte est désormais", tPointsCarte[pas]); + } + nbelem = nbelem + 1; +} + +/* +void pointsBonus() +{ + +} + + + + + int CreationAdherents(int tAdherents[], nbClients) { int NoCarte, nom, prenom, age, pointsCarte, CarteActive, nbActivitéesJour; diff --git a/SAE.h b/SAE.h index f073f73..76bb56a 100644 --- a/SAE.h +++ b/SAE.h @@ -1,11 +1,12 @@ #include #include -int Ouverture(); -void testOuverture(); +int Ouverture(int tNoCarte[], int tage[], int tPointsCarte[], int tCarteActive[], int tNbActivitesJour[], int tDate[], int tmax); +void testOuverture(void); +int Sauvegarde(); +void testSauvegarde(void); /* int pointsBonus(); -void sauvegarde(); int CreationAdherent(); int FrequenceCentre(); */ diff --git a/exe b/exe index 9d74693..5d118ea 100755 Binary files a/exe and b/exe differ diff --git a/membres.don b/membres.don index 8a686ff..01fe651 100644 --- a/membres.don +++ b/membres.don @@ -1 +1,10 @@ Ncarte age pointsCarte carteActive + 1 22 10 0 + 2 25 5 1 + 3 47 7 1 + 4 38 8 1 + 5 18 8 1 + 6 46 6 1 + 7 36 6 0 + 8 19 2 1 + 9 21 1 1 diff --git a/testSAE.c b/testSAE.c index 1b85ce7..68e76aa 100644 --- a/testSAE.c +++ b/testSAE.c @@ -1,19 +1,27 @@ #include "SAE.h" -void testOuverture() +void testOuverture(void) { - int tNoCarte[500], tage[500], tPointsCarte[500], tCarteActive[500]; - int tDate[500], tNbActivitesJour[500]; + int tNoCarte[500] = {0}, tage[500] = {0}, tPointsCarte[500] = {0}, tCarteActive[500] = {0}; + int tDate[500] = {0}, tNbActivitesJour[500] = {0}; int tmax = 500, pas, i; - pas = Ouverture(tNoCarte, tage, tPointsCarte, tCarteActive, tNbActivitesJour, tDate, &tmax); + pas = Ouverture(tNoCarte, tage, tPointsCarte, tCarteActive, tNbActivitesJour, tDate, tmax); printf("Pas: %d", &pas); - printf("Ncarte nom prenom age pointsCarte carteActive nbActivitesJour\n"); + printf("Ncarte age pointsCarte carteActive nbActivitesJour Date taillemax\n"); for(i=0; i < pas; i++) - printf("\t%d\t%d\t%d\t%d\t%d\t%d\n", tNoCarte[i], tage[i], tPointsCarte[i], tCarteActive[i], tNbActivitesJour[i], tDate[i], &tmax); + printf("\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", tNoCarte[i], tage[i], tPointsCarte[i], tCarteActive[i], tNbActivitesJour[i], tDate[i], &tmax); +} + +void testSauvegarde(void) +{ + int tNoCarte[500] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, tage[500] = {22, 25, 47, 38, 18, 46, 36, 19, 21, 30}, tPointsCarte[500] = {10, 5, 7, 8, 8, 6, 6, 2, 1, 4}, tCarteActive[500] = {0, 1, 1, 1, 1, 1, 0, 1, 1, 1}; + int tDate[500] = {12082022, 5092022, 7092022, 8092022, 9092022, 10092022, 11092022, 12092022, 13092022, 14092022}, tNbActivitesJour[500] = {500, 525, 740, 812, 850, 620, 601, 422, 501, 520}; + Sauvegarde(tNoCarte, tage, tPointsCarte, tCarteActive, tNbActivitesJour, tDate, 10); } int main(void) { - testOuverture(); + //testOuverture(); + testSauvegarde(); return 0; } \ No newline at end of file