From ad8a3912ba0137ee48268db17d821db0bd7f37fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Math=C3=A9o=20Hersan?= Date: Tue, 31 Oct 2023 22:11:34 +0100 Subject: [PATCH] added some verifications --- app | Bin 52880 -> 52896 bytes src/app/core_logic/client.c | 10 ++---- src/app/interface/interface_client.c | 51 ++++++++++++++++----------- 3 files changed, 33 insertions(+), 28 deletions(-) diff --git a/app b/app index f1d1f1cd5a01e6446a2bca69f9b4d4cb40304e16..abeeb57ac3e79bf84024f66459e9b5873d7eb70e 100755 GIT binary patch delta 6111 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 W`=0i-G+S^#;Bdjd&0oEA_kRIFTjS6G delta 5788 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 UcQblb^(4mcyB(&w|0yi}Kl3Jwv;Y7A diff --git a/src/app/core_logic/client.c b/src/app/core_logic/client.c index bfb7e97..4d6dad2 100644 --- a/src/app/core_logic/client.c +++ b/src/app/core_logic/client.c @@ -156,7 +156,7 @@ void supprimer_article(int panier[], int quantites[], int *taillePanier, int ref * @param taillePanier - Taille du panier. */ void modifier_quantite_article_panier(int panier[], int quantites[], int *taillePanier) { - int reference, quantite; + int reference, quantite, articleIndex; printf("Entrez la référence de l'article : "); while (scanf("%d", &reference) != 1) { @@ -165,13 +165,7 @@ void modifier_quantite_article_panier(int panier[], int quantites[], int *taille } while (getchar() != '\n'); - int articleIndex = -1; - for (int i = 0; i < *taillePanier; i++) { - if (panier[i] == reference) { - articleIndex = i; - break; - } - } + articleIndex = trouver_index_article(reference, panier, *taillePanier); if (articleIndex == -1) { printf("Article non trouvé dans le panier. Veuillez entrer une référence valide.\n"); diff --git a/src/app/interface/interface_client.c b/src/app/interface/interface_client.c index 37705dc..301c007 100644 --- a/src/app/interface/interface_client.c +++ b/src/app/interface/interface_client.c @@ -27,19 +27,6 @@ void affiche_client() { printf("+----------------------------------------------------------------+\n"); } -/** - * @brief Laisse l'utilisateur choisir une option du menu. - * - * @param[in, out] choix - L'option choisie par l'utilisateur. - */ -void menu_client(int *choix) { - affiche_client(); - printf("Vous choisissez: "); - while (scanf("%d", choix) != 1 || *choix < 0 || *choix > 9) { - while (getchar() != '\n'); - printf("ERREUR : Veuillez entrer un choix valide : "); - } -} /** * @brief Ajoute un article au panier du client. @@ -266,27 +253,37 @@ void affiche_recap_panier(int panier[], int taillePanier, int references[], floa * @param numeroClient */ void configurer_session_client(int numeros[], int suspendus[], int nombreClients, float *budget, float *volumeCoffre, float *chargeMaximale, int *numeroClient) { + int indexClient; + printf("Veuillez saisir votre numéro de client : "); while (scanf("%d", numeroClient) != 1) { while (getchar() != '\n'); printf("ERREUR : Veuillez entrer un numéro de client valide : "); } - int indexClient = trouver_index_client(*numeroClient, numeros, nombreClients); + indexClient = trouver_index_client(*numeroClient, numeros, nombreClients); - if (indexClient == -1) { - printf("Client non trouvé. Impossible d'utiliser l'application.\n"); - return; + while (indexClient == -1) { + printf("Client non trouvé. Veuillez entrer un numéro de client valide : "); + while (scanf("%d", numeroClient) != 1) { + while (getchar() != '\n'); + printf("ERREUR : Veuillez entrer un numéro de client valide : "); + } + indexClient = trouver_index_client(*numeroClient, numeros, nombreClients); } if (suspendus[indexClient] == 1) { printf("Le client est suspendu et ne peut pas utiliser l'application.\n"); - return; + exit(1); // Quitter l'application si le client est suspendu. } + int choixBudget = 0; + printf("Voulez-vous définir un budget à ne pas dépasser ? (1 pour Oui, 0 pour Non) : "); - int choixBudget; - scanf("%d", &choixBudget); + while (scanf("%d", &choixBudget) != 1 || (choixBudget != 0 && choixBudget != 1)) { + while (getchar() != '\n'); + printf("ERREUR : Veuillez entrer 1 pour Oui ou 0 pour Non : "); + } if (choixBudget == 1) { printf("Entrez le budget à ne pas dépasser : "); @@ -310,6 +307,20 @@ void configurer_session_client(int numeros[], int suspendus[], int nombreClients } +/** + * @brief Laisse l'utilisateur choisir une option du menu. + * + * @param[in, out] choix - L'option choisie par l'utilisateur. + */ +void menu_client(int *choix) { + affiche_client(); + printf("Vous choisissez: "); + while (scanf("%d", choix) != 1 || *choix < 0 || *choix > 9) { + while (getchar() != '\n'); + printf("ERREUR : Veuillez entrer un choix valide : "); + } +} + /** * @brief Fonction principale de l'interface client. *