From ce4b51f703ea9029d3ed51339f7d030da530c633 Mon Sep 17 00:00:00 2001 From: DahmaneYanis Date: Sun, 6 Nov 2022 22:28:25 +0100 Subject: [PATCH] =?UTF-8?q?Toutes=20les=20fonctions=20faites,=20comment?= =?UTF-8?q?=C3=A9e=20et=20test=C3=A9e=20|=20Manque=20seulement=20les=20men?= =?UTF-8?q?us?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exe.exe | Bin 49787 -> 50332 bytes header/adherent.h | 4 +- source/adherent.c | 94 +++++++++++++++++++++++++++++++++++++++++++++- source/main.c | 11 +++--- 4 files changed, 102 insertions(+), 7 deletions(-) diff --git a/exe.exe b/exe.exe index a697aeea6444cea6dda6dc7a7be92c05eb4bb8f4..2cb95e5a2411111e59bfa54be1f389f3b0bbe076 100644 GIT binary patch delta 8210 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 dZ>ML5U+Gq?qR)3w`o>-_eA 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 t;ukoEFRt5ES6}|Llsop>rpF{vUi#U}69O diff --git a/header/adherent.h b/header/adherent.h index acdb062..2387f42 100644 --- a/header/adherent.h +++ b/header/adherent.h @@ -10,4 +10,6 @@ int AfficheInfosAdherent(int noCarte, int tabNoCarte[], int tabEtatCarte[], int int TrouverAdherent(int tabNoCarte[], int nbAdherents, int noCarte, int *trouve); -void RechargeCarte(int noCarte, int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[], int nbAdherents); \ No newline at end of file +void RechargeCarte(int noCarte, int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[], int nbAdherents); + +void CreerAdherent(int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[], int *nbAdherents, int taillePhysique); \ No newline at end of file diff --git a/source/adherent.c b/source/adherent.c index 4060b4b..d956221 100644 --- a/source/adherent.c +++ b/source/adherent.c @@ -269,7 +269,6 @@ int AfficheInfosAdherent(int noCarte, int tabNoCarte[], int tabEtatCarte[], int * @param trouve [POINTEUR] Vaut par défaut 0. Prend la valeur 1 si l'adhérent est trouvé * @return int -1 -> Adhérent introuvable | Autre -> Indice de l'adherent */ - int TrouverAdherent(int tabNoCarte[], int nbAdherents, int noCarte, int *trouve) { // Vérifier l'existance du numéro de carte et si existe récupération de son indice @@ -555,3 +554,96 @@ void RechargeCarte(int noCarte, int tabNoCarte[], int tabEtatCarte[], int tabPoi } } } + +/** + * @brief Creer un nouvel adherent à la fin du tableau si la taille physique le permet + * + * @param tabNoCarte [TABLEAU] Liste des adherents + * @param tabEtatCarte [TABLEAU] Etats des adherents + * @param tabPointCarte [TABLEAU] Credit des adherents + * @param nbAdherents [POINTEUR - Taille Logique] Nombre d'adhérents total + * @param taillePhysique [Taille Physique] + */ +void CreerAdherent(int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[], int *nbAdherents, int taillePhysique) +{ + int dispo = 0, indice = 0, actif = 1; + int i; + + int credit; + char rep; + + while(actif) + { + // Verification de la posibilité de créer un nouvel adhérent (taille physique du tableau) + if (taillePhysique <= *nbAdherents) + { + printf("Taille physique du tableau pas assez elevee.\n"); + return; + } + + i = 0; + + // Recherche d'un numéro disponible + while(!dispo) + { + dispo = 1; + for (int j = 0 ; j < *nbAdherents ; j++) + { + if (tabNoCarte[j] == i) + dispo = 0; + } + + if(dispo) + indice = i; + + i++; + } + + // Ajout de l'adhérent à la fin du tableau (tableau trié plus tard) + *nbAdherents+=1; // ++ ne marche pas + + clean + printf("Credit de l'adherent : "); + scanf("%d", &credit); + + tabNoCarte[*nbAdherents-1] = indice; + tabEtatCarte[*nbAdherents-1] = 1; + tabPointCarte[*nbAdherents-1] = credit; + + clean + printf("Adherent cree. Souhaitez vous un affichage detaille des adherents (O/N) : "); + scanf(" %c", &rep); + + // Verification de la validité de la réponse + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte. Souhaitez vous un affichage detaille des adherents (O/N) : "); + scanf(" %c", &rep); + } + + if (rep == 'O') + { + AfficheAdherents(tabNoCarte, tabEtatCarte, tabPointCarte, *nbAdherents); + } + + clean + printf("Souhaitez vous creer un autre adherent (O/N) : "); + scanf(" %c", &rep); + + // Verification de la validité de la réponse + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte. Souhaitez vous creer un autre adherent (O/N) : "); + scanf(" %c", &rep); + } + + if (rep == 'N') + { + actif = 0; + } + else + dispo = 0; + } +} \ No newline at end of file diff --git a/source/main.c b/source/main.c index 92c0da3..ff53d57 100644 --- a/source/main.c +++ b/source/main.c @@ -4,18 +4,19 @@ int main(void){ color - int tabCarte[15] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; - int tabEtat[15] = {1, 1, 1, 1, 1, 1, -2, 1, 1, 1, 1, 1, 1, 1, 1}; - int tabPoint[15] = {0}; + int tabCarte[17] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + int tabEtat[17] = {1, 1, 1, 1, 1, 1, -2, 1, 1, 1, 1, 1, 1, 1, 1}; + int tabPoint[17] = {0}; - int taillePhysique = 15; + int taillePhysique = 17; int tailleLog = 15; int trouve = 0; //int err = AfficheInfosAdherent(15, tabCarte, tabEtat, tabPoint, tailleLog); //SupprimerAdherent(&tailleLog, tabCarte, tabEtat, tabPoint); //AfficheAdherents(tabCarte, tabEtat, tabPoint, tailleLog); - RechargeCarte(30, tabCarte, tabEtat, tabPoint, tailleLog); + //RechargeCarte(30, tabCarte, tabEtat, tabPoint, tailleLog); //int indice = TrouverAdherent(tabCarte, tailleLog, 5, &trouve); //printf("Indice: %d\nTrouve = %d", indice, trouve); + CreerAdherent(tabCarte, tabEtat, tabPoint, &tailleLog, taillePhysique); } \ No newline at end of file