From 2a0ae3a06a7c21847187ca5d3ebd6ec767db48a5 Mon Sep 17 00:00:00 2001 From: DahmaneYanis Date: Sun, 6 Nov 2022 20:31:52 +0100 Subject: [PATCH] =?UTF-8?q?Recharger=20carte=20termin=C3=A9e=20mais=20non?= =?UTF-8?q?=20test=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exe.exe | Bin 46715 -> 47227 bytes source/adherent.c | 134 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 128 insertions(+), 6 deletions(-) diff --git a/exe.exe b/exe.exe index 774003e8bb55e24eea0b885376be31a6b749d9dd..dee8427d6ef3e99c902d090daf50b5a11873a534 100644 GIT binary patch delta 2869 zcmZWr4Nz0r6~6Z+Aprsb6XYi-Ncd4$1y-M>YD-o&BvBx2t01lwScSy`$|z2?E^d^~ zE-{P5p6x6vA_2v^qhr;~SUa_fgXlV=E4JO%`d4?VHd|2RfZJ|SU(bCZana1=y>q|w zo&S5^dt<}gn3r?5#Ql@htRf#0@*O4Q4w2JP%Egl$Ldc3;J#!`ZACp}-dP6jG5s1Kl z4(y;AbOD^8Y4pc%8?Pn^;w*FtlyGU#%c;T1MbVXTfJ>tl@FiZ~fp1Y`kZ2%VqM_R% zUy?>YfVGnIv<7(T5>7n_98#X%gtO8Z+7H*I*>o2uWyWyxY(g$blQAgq%#4LfSv;38 z8{U`2agy24Av0^ONN66GdYqV8x1v~2?9yZp#321P2(l#8(CdgNS`mLUS?b8kV(Pz5 z#EKc#kC^8^UK~-%Vq`~nvL~bGyI#-dk*N6#tO?RaI70}r_j|gLW{*$yWWy&xd9)s` z1#QA^yd{sBB|!~lv#$;VUci9r3Uq}`AFi;UXW)!+@F9FE&!*?#qFhT|a8KSqEl{GE z8fMB8Yu7YaGJQ7Z>!YF00dPtoGEg^@(-kK@aC|!-LCeVk*Ri*ooXoi&d z;j~u`AHtbXou-G848yqj8TSO^UVv{yH^gdv z)`JW&`sBMzo)6oVrE~*zmbXM75Yw zTsrIzFQV6BB)lxtgs9kz%o$Lsnp3g`OLG`Jwmy|D8pY-&ub{GpiJ)S9dt72MVrQ`Y zAANtv+@FrAmHGW0#TCk8JBQ(G)#UfTLgXcr9)wgU43AW&`^G(`RHO4lzZ zux$KPyccau_WRHE`OjkfS|%Gt*-rZAbKhvhnzTMn0ppZvaM5b;7g5i!+9E0#h^Jos37a6G)b}h=Kci`%xJbXe%El!|y zz%PE6jzZ^R3p#(Wcs6RM75o6-AY}y^7{XSt4&6N|C`D~yp^=_~Ul(Q|=WJmn)x+b$ zOpf$JQqgiw+7DZcN@R!63&ItcV$s5AQ8Gr2wOD97tg+;Anu~D6l7vQAEg5t*JhNod zPhe)TmL3Fi@lWXzcW3dt!E$S|o@6EK#SZSu3UW(VC^=f;j$A2Fc}2RO>`2$cF>3<+ z&>HG~qvB9}BpX^xYCIvKs$iK!nXh+GnTNFI~ z@ER8r2Df)6vD^PX`YY>5iw>_(T6COs64PL-eq=XtPBkv#z-3pY^r;DxIh)=|c-iQ{~w&ioyjPZW_y{)#MWcyhxy(4JXhp*Tdp3Wc=fu8^` zkgJGPOhE23s|m;xM7#mSUyap$%=uU@_wu4Uc-%f2&a}%pFAt|%li=U&PU?j%pXoU1 zTyTBnO3Cu^#8XGe&n1K`3n1kU8yi>ERIdL5s&@1ABy{ZNQw|2Stds}HSKJ1fdfc+2U5DbsRu4} z>ohO4<*O>|>ej6ygoo$d%P{NG9@ewgo?1L1-}M+%U32^c#&aN2JpqKdJ{Q7z3Dx`N zXa)nhFvZMJLK1m6vd_gScqrcg9-gwx``ugw58Hc_@Y}Svw+(y6AK+20J)onTpbh0g b7&y?R-V}&YzG3r*#;SVK;$HfjRMr0hK2m|% delta 2826 zcmZWr3s6+&75@LbyRfj!E-Q;X<+VH%6hT=^ebh~GMR_i^@=7WY#9;A3VVz(j1R*;E zu9T%G9Ww|K5EPq?#q5-Erm2u1G0xPAW7?q+ElF{@2^euiO@exR{=4iVdS~|DbHDSQ z@0|bqkGpd-+}t#0Y4pz~WhLZYLVl!#Ob}Npqg)_KB!m>Sb|;FAU9|OPuluAH0Z;rT z!ciJS*TDddq8s2g-nW1YmqoWj4i`lWpce11!)Y!GdN~!`=6q-oJVLA%f<#fY4z`G* zKrd23t!RKIfmZx0?!RlnEY{MG;8U?L1^7xFPm4h=Nm2N%CFHU=9Fr2;Q(q{S1akM* zz&jFu?#3E8A=wsSKtjW`*j9vvbx936(j*SImG~n49PpB`t$$sEct{=Mo5RKC7Mwg=U+Z^R4LoZ5>CFJnTlB9ua=9hWwJ&cGG(;6*s@8c*MYE3N^w0`9n0&|t`s z26_0#31et~wPCY&&|g|I(jU3WyIw zBJJLl%#KF;g(@D~sluR!(OwwhU+kVT7I+`+7XmNBpiHB#WF-AGE`GMy1{n7^Jd#!U zO~nYvC_{YgN|Vf%LA^Ye4#QXSh>#9DC#w|kRlc+E6o_R6B~Onei)NnPL<7!wT4`2%;fSqwrI>AQ9a{ zN#Cu29z`bo6FgAl%aRZkn!zuJTxCK|1`f@vx0!~NCN-K3H8Z@@)>(WnRzhOp|7;-$1(nTX6t9!N}8&55WbHR3P@*!Xe6kb^^OtjW7y*;IO-YXmiLV3 zoAfhNv2fl~lbHFG=jWBMr$lKwi*C!6VT;AGqv=jA?(!qk6Rh*!xCrV-rj%)2s{*Px z`-JB&uo}!YPp%AG$CkK>=#=#v?@5|8s@IW*Io=p*x@na2>JH(3iXNQBVv95=QF@Q( z8!q|2HXMI*ifbBfPNrtHX;g20=JPl-;H|4zgZ<+18bUF4F&k7gT+QJN*3ALaj$wvL?7UCDozamU8)6d?1|P8VrZir1UVD(t`06?oC@y34EOv!%g;s zB7Gf|!nX7jYJk@CO|&1brzhii=baIZr@uDiO?nABGO|$oZpK>lhGzbZ`a*tY45lz; z9zeN=nYrlA$V#Ed;E!1`$oVvDHT8u1S*y9x&mhcDzy0 znAI;ki|}283pke@hC$b}V`u_A&0bA+!K&>6v>LW;|0NB#c5Hvs&D9W&%?j6H zn;y{CI2WsUr<|j4R#g#CUE`v4q##-c=j(&v=k+q{D{p)lsA5y*8yQH5Oz9>Ojq6#c zh<;p`!@_dwM<_m)y*nb7G)W1m24$-^JZT)`rsZ(k62=}sHT{cqX@td#5K2M_M+yrI_Z9EiPbQp5tg*D(i1SzkSIy-S2DO8U5b41Q zo^T=#CV^icn@ciyKhM0zn2V4ZMC$M>X3y)0ol%3Od5c#Oej^t_y2NNxuA-$!7zHa?nOEASR`7MhE@3b`~lHl=Umtd9t4j1f<6LDl4^@shfTR20^ zd|UqATE1@-KX40i=P=HKU(^L;5Rr*R$aO^G@JqkInPgFmkcWs2IT1&GgZ2C$?z_4U z;eQtlhWl+xVX)1W8`8qXmN59P%|eIZ?GqaAOD%Ms=!_tC9!?Xxej_4exf3a@IA|;> zE3SMWO53%x5l*ygBdVQV#=ndFaRDK0qIXx8mLmEEJVd?}VmdVVcPFc(#_NZK=ZEsW zn2ZA1$Sz3AMEJV&^$PVb{YH`?FzWj zS&oC*)RoWK5}>Us%uDB#W5pf96|946T^ia454uutH9e5p$gzCUzo) z#shl~yj5ChfLq;KuTcSK!(-PDWcEYEsV;f}E}zn<7rccf#e4T2C?TT>@a$9`R-N0! zde+=ijvM92o|MQ6XAf{Y2-FKsgh^j=XT5~oy$R}0XD!UJN`~t!0nYVya$^Z#IDHs5 z+tt%nZXyBd&xFx9=snYdz0&q+(Jt@P(5=vdb|;MV)p%`n<|wQ>RAnsPNAj#Y&PFQ# E5B>9YqW}N^ diff --git a/source/adherent.c b/source/adherent.c index 957d89c..e59755d 100644 --- a/source/adherent.c +++ b/source/adherent.c @@ -291,43 +291,165 @@ void RechargeCarte(int noCarte, int tabNoCarte[], int tabEtatCarte[], int tabPoi clean char rep; int trouve = 0, actif = 1; - int indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve); + + int indice; + int trash, credit; while (actif) { + indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve); // Récupération de l'indice de l'adhérent si il existe + + // Si l'adhérent cherché n'existe pas if (!trouve && indice == -1) { - printf("Adherent %d introuvable. Souhaitez-vous rechercher un autre adherent (O/N) : ", noCarte); + printf("Souhaitez-vous rechercher un autre adherent (O/N) : ", noCarte); scanf(" %c", &rep); while (rep != 'N' && rep != 'O') { clean printf("Reponse incorrecte. Souhaitez vous entrer un autre numero d'adherent (O/N) : "); - printf("\nrep : %c\n", rep); scanf(" %c", &rep); - printf("\nRep : %c\n", rep); } + // Abandon de la recharge if(rep == 'N') { clean printf("\nRetour au menu principal.\n"); actif = 0 ; } + + // Relancement de la fonction pour une autre carte adhérent else { clean - printf("Numero d'adherent a recharger : "); + printf("Numero carte d'adherent a recharger : "); scanf(" %d", &noCarte); indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve); } } + + // Adhérent trouvé else { AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents); - actif = 0; + + printf("\nVoulez-vous toujours recharger la carte numero %d (O/N) : ", noCarte); + scanf(" %c", rep); + + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte. Voulez-vous toujours recharger la carte numero %d (O/N) : ", noCarte); + scanf(" %c", &rep); + } + + // Annulation de la recharge + if (rep == 'N') + actif = 0; + + // Validation de la volonté de recharger + else + { + // Récupération du nombre de crédit à ajouter + clean + printf("Combien souhaitez-vous ajouter de credit : "); + scanf(" %d", &credit); + + // Vérification de l'état de la carte + if (tabEtatCarte[indice] != 1) + { + clean + printf("Etat de la carte actuel : %d", tabEtatCarte[indice]); + printf("\nVoulez-vous la reactiver (O/N) : "); + scanf(" %c", &rep); + + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte.\nEtat de la carte actuel : %d. Voulez-vous reactiver la carte numero %d (O/N) : ", tabEtatCarte[indice], noCarte); + scanf(" %c", &rep); + } + + // Réactivation de la carte et ajout des crédits + if (rep == 'O') + { + tabEtatCarte[indice] = 1; + tabPointCarte[indice] += credit; + clean + printf("Carte reactivee. Transaction de %d credits faite.\n", credit); + AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents); + + printf("\nAppuyer sur entree pour continuer..."); + scanf("%*c%c", &trash); + + actif = 0; + } + + // Etat de la carte non modifié + else + { + clean + printf("Souhaitez-vous effectuer quand meme la transaction de %d credit (O/N) : ", credit); + scanf(" %c", &rep); + + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte. Souhaitez-vous effectuer quand meme la transaction de %d credit (O/N) : ", credit); + scanf(" %c", &rep); + } + + // Mettre des crédits sans réactiver la carte + if (rep == 'O') + { + tabPointCarte[indice] += credit; + clean + printf("Transaction de %d credits faite.\n", credit); + AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents); + + printf("\nAppuyer sur entree pour continuer..."); + scanf("%*c%c", &trash); + + actif = 0; + } + + // Annulation de la transaction car carte annulée + else + { + clean + printf("Transaction annulée.\nSouhaitez-vous faire une nouvelle transaction de credit (O/N) : "); + scanf(" %c", &rep); + + while (rep != 'N' && rep != 'O') + { + clean + printf("Reponse incorrecte. Souhaitez-vous faire une nouvelle transaction de credit (O/N) : "); + scanf(" %c", &rep); + } + + // Fin de programme + if (rep == 'N') + actif = 0; + + // Relancment du programme avec une nouvelle carte adhérente + else + { + clean + printf("Numero carte d'adherent a recharger : "); + scanf(" %d", &noCarte); + + indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve); + } + } + + } + + } + + } } } }