From bc60c29f5022c0bd3c9707f7851f2e633f8cda5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20LAVERGNE?= Date: Fri, 10 Nov 2023 19:05:13 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/articles.txt | 50 ++++++++++++++++++++++ src/clients.txt | 52 ++++++++++++++++++++++- src/errorHandling.c | 15 +++++++ src/exe | Bin 39512 -> 0 bytes src/login.c | 2 +- src/main.h | 8 +--- src/menu.c | 29 ++++++++++++- src/modif.c | 100 +++++++++++++++++++++++++------------------- src/panier.c | 12 +++--- src/passwd.c | 28 ------------- 10 files changed, 207 insertions(+), 89 deletions(-) delete mode 100755 src/exe delete mode 100644 src/passwd.c diff --git a/src/articles.txt b/src/articles.txt index e69de29..ec96482 100644 --- a/src/articles.txt +++ b/src/articles.txt @@ -0,0 +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 diff --git a/src/clients.txt b/src/clients.txt index 487c6f3..fe5bb16 100644 --- a/src/clients.txt +++ b/src/clients.txt @@ -1,2 +1,50 @@ -1313 11 12.1 0 0 -2010 22 12.1 0 0 +1 7062 115.95 0 0 +2 9392 446.75 0 0 +3 7920 418.33 0 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 0 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 0 0 +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 55 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 diff --git a/src/errorHandling.c b/src/errorHandling.c index 38cac7a..4411c9b 100644 --- a/src/errorHandling.c +++ b/src/errorHandling.c @@ -45,6 +45,21 @@ void errorHandling(int error) case -9: printf("[ERREUR] - Le mot de passe est incorrect.\n"); break; + case -10: + printf("[ERREUR] - Le client est suspendu.\n"); + break; + case -11: + printf("[ERREUR] - Le client n'est pas administrateur.\n"); + break; + case -12: + printf("[ERREUR] - Vous ne pouvez pas supprimer plus d'articles que vous n'en avez dans votre panier, réessayez.\n"); + break; + case -13: + printf("[ERREUR] - Le client n'a pas assez d'argent sur sa cagnotte.\n"); + break; + case -14: + printf("[ERREUR] - vous ne pouvez pas supprimer un nombre nul ou négatif d'articles, réessayez.\n"); + break; default: printf("[ERREUR] - Une erreur s'est produite.\n"); break; diff --git a/src/exe b/src/exe deleted file mode 100755 index 278a01480f64c2bf2090470624b1a3959a1bb920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39512 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 A-2eap diff --git a/src/login.c b/src/login.c index bc97528..dec0d54 100644 --- a/src/login.c +++ b/src/login.c @@ -50,7 +50,7 @@ int login(int clientID[], int clientPassword[], int isAdmin[], int tlog, int *in scanf("%d%*c", &password); } - if (password == decrypt(clientPassword[*index])) + if (password == clientPassword[*index]) { if (isAdmin[*index] == 1) { diff --git a/src/main.h b/src/main.h index 3e4f692..812ec78 100644 --- a/src/main.h +++ b/src/main.h @@ -36,7 +36,7 @@ void decalageAGaucheFloat(float tab[], int index, int tlog); //! GESTION CLIENTS void inputClient(int id, int passwd, int index, int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int *tlog); void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog); -void deleteClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog); +void deleteClient(int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int *tlog); //! GESTION STOCKS void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int *tlog); @@ -63,11 +63,7 @@ void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_ba int login(int clientID[], int clientPassword[], int isAdmin[], int tlog, int *index); int signup(int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int *tlog); -//! MOT DE PASSE -int encrypt(int password); -int decrypt(int password); - //! MENUS void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int *tlogItem, int *tlogClient); void clientMenu(float *weight, float *volume, float *price, int tabItemRef[], float unitPrice[], float *cagnotte, int basket_tab_ref[], int basket_tab_qte[], float tabWeight[], float tabVolume[], int tlogItem, int *tlogBasket); -void opposition(int clientID[], int clientPassword[], int suspended[], int tlogClient) \ No newline at end of file +void opposition(int clientID[], int clientPassword[], int suspended[], int tlogClient); \ No newline at end of file diff --git a/src/menu.c b/src/menu.c index e19887c..a8389da 100644 --- a/src/menu.c +++ b/src/menu.c @@ -27,6 +27,12 @@ void clientMenu(float *weight, float *volume, float *price, int tabItemRef[], fl int choice = 0, constraint; while (choice != 6) { + printf("\nTapez sur Entrée pour continuer..."); + if (getchar() == '\n') // getchar() pour récupérer le caractère entré par l'utilisateur + { + system("clear"); // Clear le terminal + } + printf("\n=================================\n"); printf(" Menu Client\n"); printf("=================================\n"); @@ -35,10 +41,13 @@ void clientMenu(float *weight, float *volume, float *price, int tabItemRef[], fl printf("3\u2022 Afficher le panier\n"); printf("4\u2022 Réinitialiser le panier\n"); printf("5\u2022 Retirer un article du panier\n"); - printf("6\u2022 Quitter\n"); + printf("6\u2022 Déconnexion\n"); printf("=================================\n"); printf("Votre choix: "); scanf("%d", &choice); + + system("clear"); + switch (choice) { case 1: @@ -92,6 +101,12 @@ void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspe int choice = 0; while (choice != 10) { + printf("\nTapez sur Entrée pour continuer..."); + if (getchar() == '\n') // getchar() pour récupérer le caractère entré par l'utilisateur + { + system("clear"); // Clear le terminal + } + printf("\n=================================\n"); printf(" Menu Admin\n"); printf("=================================\n"); @@ -104,10 +119,13 @@ void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspe printf("7\u2022 Afficher la liste des articles\n"); printf("8\u2022 Afficher les données d'un client\n"); printf("9\u2022 Afficher la liste des clients\n"); - printf("10\u2022 Quitter\n"); + printf("10\u2022 Déconnexion\n"); printf("=================================\n"); printf("Votre choix: "); scanf("%d", &choice); + + system("clear"); + switch (choice) { case 1: @@ -166,6 +184,13 @@ void opposition(int clientID[], int clientPassword[], int suspended[], int tlogC errorHandling(-7); return; } + + if(suspended[index] == 0) + { + printf("Votre compte n'est pas suspendu.\n"); + return; + } + printf("Entrez votre mot de passe: "); scanf("%d%*c", &password); if (password == clientPassword[index]) diff --git a/src/modif.c b/src/modif.c index c442074..ff751e0 100644 --- a/src/modif.c +++ b/src/modif.c @@ -23,7 +23,7 @@ void inputClient(int id, int passwd, int index, int clientID[], int clientPasswo // Vérification du dépassement de la taille physique du tableau if (*tlog == tmaxClients) { - printf("[ERREUR] - La taille physique du tableau est dépassée, impossible d'ajouter un nouveau client.\n"); + errorHandling(-2); return; } @@ -34,7 +34,7 @@ void inputClient(int id, int passwd, int index, int clientID[], int clientPasswo decalageADroiteInt(isAdmin, index, *tlog); clientID[index] = id; - clientPassword[index] = encrypt(passwd); + clientPassword[index] = passwd; cagnotte[index] = 0; suspended[index] = 0; isAdmin[index] = 0; @@ -107,9 +107,9 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin */ void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int *tlog) { - int reference = -1; + int reference = -1, index, found; float weight, volume, price; - while (reference != 0) + while(reference != 0) { printf("Entrez la référence du produit ou 0 si vous souhaitez arrêter la saisie: "); scanf("%d", &reference); @@ -118,36 +118,53 @@ void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float u printf("Erreur: la référence doit être positive, entrez la référence du produit ou 0 si vous souhaitez arrêter la saisie: "); scanf("%d", &reference); } - tabReference[*tlog] = reference; - printf("Entrez le poids du produit: "); - scanf("%f", &weight); - while (weight <= 0) - { - printf("Erreur, le poids doit être positif"); - scanf("%f", &weight); - } - tabWeight[*tlog] = weight; + index = searchTab(tabReference, reference, *tlog, &found); - printf("Entrez le volume du produit: "); - scanf("%f", &volume); - while (volume <= 0) + while(found == 1 && reference != 0) { - printf("Erreur, le volume doit être positif"); - scanf("%f", &volume); + printf("Cette référence existe déjà, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: "); + scanf("%d", &reference); + index = searchTab(tabReference, reference, *tlog, &found); } - tabVolume[*tlog] = volume; - printf("Entrez le prix du produit: "); - scanf("%f", &price); - while (price <= 0) + if (reference != 0) { - printf("Erreur, le prix doit être positif"); + printf("Entrez le poids du produit: "); + scanf("%f", &weight); + while (weight < 0) + { + printf("Erreur: le poids doit être positif, entrez le poids du produit: "); + scanf("%f", &weight); + } + printf("Entrez le volume du produit: "); + scanf("%f", &volume); + while (volume < 0) + { + printf("Erreur: le volume doit être positif, entrez le volume du produit: "); + scanf("%f", &volume); + } + printf("Entrez le prix du produit: "); scanf("%f", &price); - } - unitPrice[*tlog] = price; + while (price < 0) + { + printf("Erreur: le prix doit être positif, entrez le prix du produit: "); + scanf("%f", &price); + } + + //Décalage + decalageADroiteInt(tabReference, index, *tlog); + decalageADroiteFloat(tabWeight, index, *tlog); + decalageADroiteFloat(tabVolume, index, *tlog); + decalageADroiteFloat(unitPrice, index, *tlog); + + tabReference[index] = reference; + tabWeight[index] = weight; + tabVolume[index] = volume; + unitPrice[index] = price; - *tlog++; + *tlog++; + } } } @@ -180,13 +197,12 @@ void deleteItem(int tabReference[], float tabWeight[], float tabVolume[], float scanf("%d", &reference); index = searchTab(tabReference, reference, *tlog, &found); } - for (i=*tlog; i>index; i--) - { - tabReference[i-1] = tabReference[i]; - tabWeight[i-1] = tabWeight[i]; - tabVolume[i-1] = tabVolume[i]; - unitPrice[i-1] = unitPrice[i]; - } + + decalageAGaucheInt(tabReference, index, *tlog); + decalageAGaucheFloat(tabWeight, index, *tlog); + decalageAGaucheFloat(tabVolume, index, *tlog); + decalageAGaucheFloat(unitPrice, index, *tlog); + *tlog--; } } @@ -201,9 +217,7 @@ void deleteItem(int tabReference[], float tabWeight[], float tabVolume[], float * @return void * @warning La saisie s'arrête lorsque l'utilisateur entre 0 */ -//! Ajouter la suppression de la colonne mot de passe. -//! Utiliser la fonction décalaageAGauche -void deleteClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog) +void deleteClient(int clientID[], int clientPassword[], float cagnotte[], int suspended[], int isAdmin[], int *tlog) { int numClient = -1, index, i, found; while (numClient != 0) @@ -222,13 +236,13 @@ void deleteClient(int clientID[], float cagnotte[], int suspended[], int isAdmin scanf("%d", &numClient); index = searchTab(clientID, numClient, *tlog, &found); } - for (i=*tlog; i>index; i--) - { - clientID[i-1] = clientID[i]; - cagnotte[i-1] = cagnotte[i]; - suspended[i-1] = suspended[i]; - isAdmin[i-1] = isAdmin[i]; - } + + decalageAGaucheInt(clientID, index, *tlog); + decalageAGaucheInt(clientPassword, index, *tlog); + decalageAGaucheFloat(cagnotte, index, *tlog); + decalageAGaucheInt(suspended, index, *tlog); + decalageAGaucheInt(isAdmin, index, *tlog); + *tlog--; } } \ No newline at end of file diff --git a/src/panier.c b/src/panier.c index 046058b..9b862e4 100644 --- a/src/panier.c +++ b/src/panier.c @@ -33,11 +33,11 @@ void clientConstraint(float *weight, float *volume, float *price) scanf("%f", volume); } - printf("Entrez votre budget maximum ou -1 si vous n'en avait pas: "); + printf("Entrez votre budget maximum ou -1 si vous n'en avez pas: "); scanf("%f", price); - while (*price < 0 || *price != -1) + while (*price < 0 && *price != -1) { - printf("Erreur: le prix doit être positif, entrez votre budget maximum ou -1 si vous n'en avait pas: "); + printf("Erreur: le prix doit être positif, entrez votre budget maximum ou -1 si vous n'en avez pas: "); scanf("%f", price); } } @@ -199,14 +199,12 @@ void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_ba scanf("%d",&qte_to_del); while(qte_to_del<=0) { - printf("Erreur, vous ne pouvez pas supprimer un nombre nul ou négatif d'articles, réssayez"); - //on pourrait supprimer un nombre nul d'articles, - //mais ça n'a pas de sens car cette fonction à pour but de supprimer des articles + errorHandling(-14); scanf("%d",&qte_to_del); } while(basket_tab_qte[index_to_del]-qte_to_del>=0) { - printf("Erreur, vous ne pouvez pas supprimer plus d'articles que vous n'en avez dans votre panier, ressayez"); + errorHandling(-12); scanf("%d",&qte_to_del); } if (qte_to_del