From e5fb512a356e897ce558b0dbcc7819c49f552f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20LAVERGNE?= Date: Fri, 10 Nov 2023 23:53:43 +0100 Subject: [PATCH] FINAL --- README.md | 13 ++++++ src/articles.txt | 100 ++++++++++++++++++++++---------------------- src/clients.txt | 100 ++++++++++++++++++++++---------------------- src/debug.c | 1 + src/errorHandling.c | 2 +- src/exe | Bin 39448 -> 39408 bytes src/login.c | 9 +++- src/main.c | 5 ++- src/main.h | 2 +- src/menu.c | 4 +- src/traitement.c | 4 ++ 11 files changed, 133 insertions(+), 107 deletions(-) diff --git a/README.md b/README.md index 4aa85cb..e101154 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,19 @@ Pour les autres fichiers, voir la Documentation.
**Fonctionnement** ------------ +Lors de l'exécution du programme, le menu principal s'affiche. Il est composé de 4 choix : connexion, inscription, opposition et quitter. +Le choix 1 permet de se connecter, le choix 2 de s'inscrire, le choix 3 de récupérer l'accès à sa carte suspendue et le choix 4 de quitter le programme. +- Si l'utilisateur se connecte, il est redirigé vers le menu client ou administrateur selon son rôle. +- Si l'utilisateur s'inscrit, il est redirigé vers le menu principal. +- Si l'utilisateur récupère l'accès à sa carte suspendue, il est redirigé vers le menu principal. +- Si l'utilisateur quitte le programme, il est déconnecté et le programme se ferme après la sauvegarde des données. + +
+ +Traces d'Exécution +=============== + +Trace #1 : https://youtu.be/MiiCGtzQzEM
diff --git a/src/articles.txt b/src/articles.txt index ec96482..a601d96 100644 --- a/src/articles.txt +++ b/src/articles.txt @@ -1,50 +1,50 @@ -1 33.80 1.62 64.50 -2 45.97 1.21 193.57 -3 91.03 0.57 79.36 -4 59.32 0.71 100.99 -5 34.18 1.43 42.44 -6 75.43 2.43 57.86 -7 26.11 2.32 155.97 -8 31.89 0.92 190.94 -9 90.74 0.59 61.87 -10 15.63 1.81 148.95 -11 62.08 1.47 185.78 -12 84.46 2.00 49.14 -13 71.74 0.46 177.15 -14 81.59 1.08 69.27 -15 76.09 1.28 92.17 -16 50.92 2.37 28.14 -17 73.27 1.07 142.01 -18 99.08 2.16 5.51 -19 76.33 1.28 66.87 -20 47.91 1.28 14.79 -21 49.92 0.92 86.80 -22 88.98 1.18 127.61 -23 11.72 1.97 189.64 -24 22.72 0.56 106.91 -25 99.43 1.61 52.19 -26 73.17 1.78 112.36 -27 17.10 2.26 72.91 -28 96.59 2.43 43.50 -29 16.39 1.36 77.74 -30 47.78 1.85 36.03 -31 12.49 0.96 170.42 -32 53.07 0.32 83.83 -33 42.26 0.72 198.57 -34 86.22 1.03 195.66 -35 46.83 0.37 23.29 -36 95.86 1.14 163.49 -37 21.67 1.08 188.90 -38 16.15 0.32 169.18 -39 39.76 2.45 111.22 -40 16.23 2.15 142.99 -41 13.15 1.05 58.28 -42 46.66 0.30 45.97 -43 67.64 2.28 23.28 -44 98.52 1.71 10.28 -45 96.39 1.11 59.34 -46 96.30 0.67 159.19 -47 45.94 0.62 169.54 -48 20.28 1.78 145.46 -49 44.08 1.57 169.84 -50 80.91 2.13 67.70 +1 33.799999 1.620000 64.500000 +2 45.970001 1.210000 193.570007 +3 91.029999 0.570000 79.360001 +4 59.320000 0.710000 100.989998 +5 34.180000 1.430000 42.439999 +6 75.430000 2.430000 57.860001 +7 26.110001 2.320000 155.970001 +8 31.889999 0.920000 190.940002 +9 90.739998 0.590000 61.869999 +10 15.630000 1.810000 148.949997 +11 62.080002 1.470000 185.779999 +12 84.459999 2.000000 49.139999 +13 71.739998 0.460000 177.149994 +14 81.589996 1.080000 69.269997 +15 76.089996 1.280000 92.169998 +16 50.919998 2.370000 28.139999 +17 73.269997 1.070000 142.009995 +18 99.080002 2.160000 5.510000 +19 76.330002 1.280000 66.870003 +20 47.910000 1.280000 14.790000 +21 49.919998 0.920000 86.800003 +22 88.980003 1.180000 127.610001 +23 11.720000 1.970000 189.639999 +24 22.719999 0.560000 106.910004 +25 99.430000 1.610000 52.189999 +26 73.169998 1.780000 112.360001 +27 17.100000 2.260000 72.910004 +28 96.589996 2.430000 43.500000 +29 16.389999 1.360000 77.739998 +30 47.779999 1.850000 36.029999 +31 12.490000 0.960000 170.419998 +32 53.070000 0.320000 83.830002 +33 42.259998 0.720000 198.570007 +34 86.220001 1.030000 195.660004 +35 46.830002 0.370000 23.290001 +36 95.860001 1.140000 163.490005 +37 21.670000 1.080000 188.899994 +38 16.150000 0.320000 169.179993 +39 39.759998 2.450000 111.220001 +40 16.230000 2.150000 142.990005 +41 13.150000 1.050000 58.279999 +42 46.660000 0.300000 45.970001 +43 67.639999 2.280000 23.280001 +44 98.519997 1.710000 10.280000 +45 96.389999 1.110000 59.340000 +46 96.300003 0.670000 159.190002 +47 45.939999 0.620000 169.539993 +48 20.280001 1.780000 145.460007 +49 44.080002 1.570000 169.839996 +50 80.910004 2.130000 67.699997 diff --git a/src/clients.txt b/src/clients.txt index 783ee8e..702f0fb 100644 --- a/src/clients.txt +++ b/src/clients.txt @@ -1,50 +1,50 @@ -1 7062 115.95 0 1 -2 9392 446.75 0 0 -3 7920 418.33 1 0 -4 371 288.01 0 0 -5 3762 175.85 0 0 -6 3427 404.05 0 0 -7 6861 148.23 0 0 -8 57 201.61 0 0 -9 6877 348.38 1 0 -10 2497 66.83 0 0 -11 5511 34.30 0 0 -12 3377 236.79 0 0 -13 8021 209.12 0 0 -14 7696 283.08 0 0 -15 4792 201.22 1 1 -16 1423 334.40 0 0 -17 919 360.44 0 0 -18 3297 105.79 0 0 -19 3569 410.50 0 0 -20 457 69.42 0 0 -21 8400 146.92 0 0 -22 6401 205.69 0 0 -23 4585 310.51 0 0 -24 6228 406.27 0 0 -25 635 12.86 0 0 -26 9770 486.48 0 0 -27 6919 67.96 0 0 -28 6703 252.47 0 0 -29 708 52.76 0 0 -30 4440 425.78 0 0 -31 5768 433.09 0 0 -32 9810 442.02 0 0 -33 6220 256.28 0 0 -34 5317 473.44 0 0 -35 3284 370.82 0 0 -36 2998 426.58 0 0 -37 8975 425.60 0 0 -38 5877 106.48 0 0 -39 1957 343.13 0 0 -40 9020 378.99 0 0 -41 9675 163.61 0 0 -42 8637 288.33 0 0 -43 5125 350.72 0 0 -44 1318 79.63 0 0 -45 2598 251.03 0 0 -46 8815 302.61 0 0 -47 8916 143.71 0 0 -48 1503 452.92 0 0 -49 7690 435.32 0 0 -50 2999 57.94 0 0 +1 7062 115.949997 1 0 +2 9392 446.750000 0 0 +3 7920 418.329987 1 0 +4 371 288.010010 0 0 +5 3762 175.850006 0 0 +6 3427 404.049988 0 0 +7 6861 148.229996 0 0 +8 57 201.610001 0 0 +9 6877 348.380005 0 1 +10 2497 66.830002 0 0 +11 5511 34.299999 0 0 +12 3377 236.789993 0 0 +13 8021 209.119995 0 0 +14 7696 283.079987 0 0 +15 4792 201.220001 1 1 +16 1423 334.399994 0 0 +17 919 360.440002 0 0 +18 3297 105.790001 0 0 +19 3569 410.500000 0 0 +20 457 69.419998 0 0 +21 8400 146.919998 0 0 +22 6401 205.690002 0 0 +23 4585 310.510010 0 0 +24 6228 406.269989 0 0 +25 635 12.860000 0 0 +26 9770 486.480011 0 0 +27 6919 67.959999 0 0 +28 6703 252.470001 0 0 +29 708 52.759998 0 0 +30 4440 425.779999 0 0 +31 5768 433.089996 0 0 +32 9810 442.019989 0 0 +33 6220 256.279999 0 0 +34 5317 473.440002 0 0 +35 3284 370.820007 0 0 +36 2998 426.579987 0 0 +37 8975 425.600006 0 0 +38 5877 106.480003 0 0 +39 1957 343.130005 0 0 +40 9020 378.989990 0 0 +41 9675 163.610001 0 0 +42 8637 288.329987 0 0 +43 5125 350.720001 0 0 +44 1318 79.629997 0 0 +45 2598 251.029999 0 0 +46 8815 302.609985 0 0 +47 8916 143.710007 0 0 +48 1503 452.920013 0 0 +49 7690 435.320007 0 0 +50 2999 57.939999 0 0 diff --git a/src/debug.c b/src/debug.c index 6a0cb58..41273e5 100644 --- a/src/debug.c +++ b/src/debug.c @@ -5,6 +5,7 @@ #include "main.h" +//TODO Non-terminé void debugMenu(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlogArticle, int tlogClient) { int choice; diff --git a/src/errorHandling.c b/src/errorHandling.c index c49b8f8..09f1e63 100644 --- a/src/errorHandling.c +++ b/src/errorHandling.c @@ -46,7 +46,7 @@ void errorHandling(int error) printf("[ERREUR] - Le mot de passe est incorrect.\n"); break; case -10: - printf("[ERREUR] - Le client est suspendu.\n"); + printf("[ERREUR] - Votre compte est suspendu.\n"); break; case -11: printf("[ERREUR] - Le client n'est pas administrateur.\n"); diff --git a/src/exe b/src/exe index 022499cba6350b017248b2e2f2e8dad3dc16eb5e..8b066f8a5898444e4fcfe0642c1584f91cdc50c1 100644 GIT binary patch delta 8320 zcmZu%3s_Xu7CvV{1w;o_1SMrazy|^nf=^J0ks+b$i!5(GxPql3C@^X!jz%csFlO#7 z?berRmd^^Ohu&)!ET3tHkBY8YT2@1l;3LH(&;8fgXEu!8`8;Q>v(~>Jd+oLNdEln^ zb&qDv= z2Txt~G@BlcJ9qhNt$%ayREJYHsH@+|(UN4ccR4qTNRnSqN0|RW51lpIk<}wvr^|?P z*n6(_&>iaU2wLXgQMf(=dYiFT9m5Ub=3VHu zj3V2mB=eMzk*?d=9#BA}BfIpa;L8jo$-WU}`tmn62^5FppELxvc69cwm3TZRc= z3!2(b)@KQ>u-hS5!)6L-svGom0bK^UYqDt0Fj$OGao)Y_s%1aaQq9PZ*N)u_^&UIb zAW2qZYr`zme!K|s&DHk#B#I#Zt{^V&o7qpHVe@_uQJtXbWi4_EhMROwm@MM1w2Gb{ z>KfWk$Q$CT|DYTbkt2-$BaBA78EqCuC2Ubxf~8Yu45aL^L2dLCpJtn^KbguJ{ovtM zF$WE-ps% zi@T&4!ufl|hjYH1_#n>TB;J?v3V6Oeqf~*hl{eZgA)n2GcTfuFZMLr8la_#f>S%{J z9rqLkQ&r!n!a_sb1*;`2((Us!W*#eI&gbG8fCFi zc{i{d5&h)lEHLtMpNrbC8|JZPk>le=!i?s;ApkBPBbR0MnBkLZu-5g?PdJ0Rc2}^=pz*S8GkXekg;9s~?ttr+#1w1A55+Vh;}(A}6qC24u1_>VdN67f}>-%I><&L>h5n>l|AJfDdDs=&2e z8-=`?13w%BqvzObgB}Q&316;?PX@29Ko$}e=DqcIbpC^wA$B*a59=8f)$t)8Nvglh z=129F-(hp2`pGY|wNVkebHA{vsL+nSXz+%~1lE0C&u&MB`d!6RQENVx;{EqWHehf} z)>V;A?T=IzSGRZq!;|;AB5s$q?DLpJ^#<;P3B-1y-YU)d>N~U%FJapTM-1IWC5VT! zhNYOT-NOF_?qA!=pNn<*uYjD@^ytC-q9eP{BjY1Kz}TnyHu*f;#4@6X%CE8&(ZNB_ zBNZfIu=&}tZi1<^o~9NHV^z`JgL3av261H;`!;&tBO}FdHeGH%%qNAs7IO7wIa7!h zxIsq?`F8eg%mbD!-T1vP6{CDn=)&A=u8C1jgPh+uZ`!gCQtp)b6WoV-!!P*=jvT_# zH|q9kY~ovdf+(ZEmS;rL03mzF4eKN1KVM@1jD0h*4fyl->foEX(_{hc3kR$!K9DUR za^!C_L=IQJYhNozv}?*9fE%?|WdeG@4O$_f*S=%xv^$^7~==RXug}#NMW>% zU5pFTZPl~eabcGC1>Bdzwd`|6ZPOrE)7dScmoK&-=m-Jr1?UaEUsm%ReN&A-_Rx|O zNQl-S@AX~WtdZA8M`jk>ntXvqT<7Kb>Fdx@c}{eX-;j%{j?}r!5rs(KZUJ`?) zjpjGZH$)k}zR-SR-x}n~UH`2%%*A3Z_P9Zx5zs3a*lR=kTE6vdo7f8Be}@s;>mJh}G?6BX`3W!uuLT9gdR^XDZc#TdLwqTs-c#`{de|@YQ|dS`M$)#HKQ* zr^$*u=vh}^eww#3E> z++vr@jRM-;4H_(<<5~RhFufo4qqu(v7d&&qd$rV5YluZ&4CBm z))7y4{&g^>6#XVSy;$VPVetm?rd}WY()GqQf}WRc##)$3WLk&qn*8|F#mP9feq{Qf zuEH)8c0eD8(hG;N8N1tJdMAzt#Ch*LlSd6q9WUT_)Mt6)6+U6ISfO!nL*`c~h{Pl6 z*WN>>BxoAK@<&B=E+9ARzF5h&j!H{@UARqhb88e0ZH8R9O~VdH1L;97hYexjqnTwr zUIIzEZDs3$8J`&3tBi%bjKCXFz*EPvi{ zdF&e<1}8bPcb}&Tq)%{)85sXB|wjgZ9xowJVQ~1jO57{e{2g(w)sPeHec>tQ|b^D2Ka3 zuf{c{7JmUJi@HD_IKVyt%Zw#0jh6b}4fgQsW5-0$^IE4ay z9^m$Q-=&&7b(Y=C*gWhR04Q${Wa_+q7_X*At>aJWE2mHb_N1rCi48heg3ljjDS>^M zp}*&_G;7vjlRcp~xv?jmF#vghknPH(hRZr5=B<7^5{*j_U=ib&TV8|(#g{4m*PphF ze^_7nHy(c_d7TfPD}Et(e7u+wqYrrwc9Jw_eah5Kds5R_NlJM%!}?W9c82x$lqo6J z)@+kK`Vz#GGY9^O&tYE9A3uSgLw|ad1jk*_hd2T=ztQcRaM!c5RKU0(~IF8^TS^L9q z(lPCcNwP=8pxNx*>CwG+ol=x_!0f^?9{g$?FXA|I%5iJ@G&x##T2c1l`XUaG&lM#G z$0Qt!acstM5Xbj8`T%ESS&s!fw#*#vp}N2Dk4ZX7a>UMlT)lSK=KSWFoL5woXD%9S zSeR36$SE$)TV}}3Gc3%{nT>OyxyX<+uh3kQS7b037;?-s_MD=UxwG^0sGgXh#q&pa zA$5N7?)(XzB63yUac};587~iiPcx=wr%yLT8z$$N7w0{hQv~<9dBuj@!h(WNcjgtx z#KcHTq=;NY#2o(5N45XIc3S9SL(!)@&BeuY^I}v(Zi{oSk9$0eE8y(>xp@U8?d>Ev z*kcs^VFBBuv}3EHya#^iHbtoetpHsKy5LPkX$EZu^+V|%+O8-=Kwkl!0NMN0_wynuK~?O(_QkEEYeAAj#39n zN*bpb2=RSP7bm7t1Z6OTULbXdS3mC)T?#QYUR?sf96eGh0;Hzt^TWAXg`tpB?~t z0*9GZ6^6)l>`Y-uXlGP^DydVt`mNSI)TN_tl5Zy%5%wUCROY`hL|)3`aNfrz;(V1Y zQu!Bf{)$!M{46`OFjn5oqTmj`KrCRZ76nHP z1{bqWQI28)+H4MaxNI_^KhF-qCLi2kb{RI6;C%Nh$|=w`n`0u*9?18z(4ycDgxJYa zih?bT;C5qTcevSX6E?nxACC#|;+BV($YU_%25eL6pT}Ia@|Y=$JfY7;V^}c8ww#u^ z^c|&q06t}xkxC`FF6f<9^iCTz$Yfs_gTNc423n?7CW^P!)E zXVf`v{&O_{*rzH1*aN^5ZpE7FDwebddM6f#%}u{r=ubgE`71?P<`%##2G9uoUg!he z?7MM$yeCM$SZ!}&)fwCX!73n)Dgga^b!=-%s&@(4<9HjB9oI^3du{N_WzN#!x+z(X zuod?_Kv~$cF<2iHpAFPqDsaqu_OwoZk-e~?JIgH3g}kafT{j_%{Zam(Uhxl8x{{=3 z4eEvRb(6YEli8WofwG;|uTGb(EN)F;%9Jb>C{Ae_vY;Oqsfz{dcuoFJUoKY{9@vS@ ze@!6Uvc^mIN*dd>W}JMMU0W0AeRw>F8JK@XfA8IR*`(hNmQvAQPGfT`W`;J6<}$VQ zzy_g}C`I}s0sV4WeZ}h-mDL&>)||;@(>alLYuFtoF0je$x-~K5fF@owhKtp%1WR2^ zt{=kRe&{!krUJi~fq(=gq-bK6Hbk+x~_pT}{5x^V0R$BRKSC|=zhnDm&fSj3ikBoVcx^F)MD6y&BNq5?Aqr3{{z}#>iGZw delta 8137 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 diff --git a/src/login.c b/src/login.c index dec0d54..8b98a89 100644 --- a/src/login.c +++ b/src/login.c @@ -10,9 +10,10 @@ * @param clientID: Tableau des identifiants client * @param isAdmin: Tableau des statuts Administrateur des clients * @param tlog: Taille logique des Tableaux + * @param suspended: Tableau des états de compte client * @return Est Admin ? (1 > Oui, 0 > Non, -1 > Quitter) */ -int login(int clientID[], int clientPassword[], int isAdmin[], int tlog, int *index) +int login(int clientID[], int clientPassword[], int isAdmin[], int suspended[], int tlog, int *index) { int id, password, found, tentative=3; printf("Entrez votre identifiant: "); @@ -42,6 +43,12 @@ int login(int clientID[], int clientPassword[], int isAdmin[], int tlog, int *in *index = searchTab(clientID, id, tlog, &found); } + if(suspended[*index] == 1) + { + errorHandling(-10); + return -10; + } + printf("Entrez votre mot de passe: "); scanf("%d%*c", &password); while (password < 0) diff --git a/src/main.c b/src/main.c index b6a7408..13fedc8 100644 --- a/src/main.c +++ b/src/main.c @@ -62,7 +62,7 @@ void global(void) switch(choice) { case 1: - status = login(clientID, clientPassword, isAdmin, tLogClient, &index); + status = login(clientID, clientPassword, isAdmin, suspended, tLogClient, &index); if(status == 1) { adminMenu(clientID, clientPassword, cagnotte, suspended, isAdmin, reference, weight, volume, unitPrice, &tLogItem, &tLogClient); @@ -95,7 +95,7 @@ void global(void) break; case 4: sauvegardeDonnees(tLogItem, tLogClient, reference, weight, volume, unitPrice, clientID, clientPassword, cagnotte, isAdmin, suspended); - return; + break; case 9: debugMenu(reference, weight, volume, unitPrice, clientID, cagnotte, suspended, isAdmin, tLogItem, tLogClient); break; @@ -106,6 +106,7 @@ void global(void) } choice = displayMenu(); } + sauvegardeDonnees(tLogItem, tLogClient, reference, weight, volume, unitPrice, clientID, clientPassword, cagnotte, isAdmin, suspended); } /** diff --git a/src/main.h b/src/main.h index ce76bad..b37be4e 100644 --- a/src/main.h +++ b/src/main.h @@ -59,7 +59,7 @@ void reinit_basket(int *tlog_basket); void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_basket); //! LOGIN -int login(int clientID[], int clientPassword[], int isAdmin[], int tlog, int *index); +int login(int clientID[], int clientPassword[], int isAdmin[], int suspended[], int tlog, int *index); int signup(int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int *tlog); //! MENUS diff --git a/src/menu.c b/src/menu.c index e29e3d1..66b54dc 100644 --- a/src/menu.c +++ b/src/menu.c @@ -44,7 +44,7 @@ void clientMenu(float *weight, float *volume, float *price, int tabItemRef[], fl printf("6\u2022 Déconnexion\n"); printf("=================================\n"); printf("Votre choix: "); - scanf("%d", &choice); + scanf("%d%*c", &choice); system("clear"); @@ -122,7 +122,7 @@ void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspe printf("10\u2022 Déconnexion\n"); printf("=================================\n"); printf("Votre choix: "); - scanf("%d", &choice); + scanf("%d%*c", &choice); system("clear"); diff --git a/src/traitement.c b/src/traitement.c index 7670ed0..61afa89 100644 --- a/src/traitement.c +++ b/src/traitement.c @@ -131,6 +131,8 @@ int chargeClients(int clientID[], int clientPassword[], float cagnotte[], int su */ void sauvegardeDonnees(int tLogArticle, int tLogClient, int reference[], float weight[], float volume[], float unitPrice[], int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[]) { + printf("[DEBUG] - Sauvegarde des données...\n"); + sleep(2); sauvegardeArticles(reference, weight, volume, unitPrice, tLogArticle); sauvegardeClients(clientID, clientPassword, cagnotte, suspended, isAdmin, tLogClient); } @@ -159,6 +161,7 @@ void sauvegardeArticles(int reference[], float weight[], float volume[], float u fprintf(article, "%d %f %f %f\n", reference[i], weight[i], volume[i], unitPrice[i]); } + printf("[DEBUG] - Sauvegarde articles réussie.\n"); fclose(article); } @@ -187,5 +190,6 @@ void sauvegardeClients(int clientID[], int clientPassword[], float cagnotte[], i fprintf(client, "%d %d %f %d %d\n", clientID[i], clientPassword[i], cagnotte[i], suspended[i], isAdmin[i]); } + printf("[DEBUG] - Sauvegarde clients réussie.\n"); fclose(client); } \ No newline at end of file