From 24bdef86c542d93c6c52741918e2cccdec98b103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Math=C3=A9o=20Hersan?= Date: Mon, 30 Oct 2023 16:52:22 +0100 Subject: [PATCH] deduire_cagnotte works MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mathéo Hersan --- app | Bin 35456 -> 52080 bytes donnee/client.txt | 8 +++---- src/app/core_logic/client.c | 33 +++++++++++++++++++++++++++ src/app/core_logic/client.h | 2 ++ src/app/interface/interface_client.c | 16 +++++++++++++ 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/app b/app index 98703f10de14648f1ed04525c6c8942c49d9f9c8..d305a93b1ac436877ca006c8a5334f3fcb4af700 100755 GIT binary patch delta 5583 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 diff --git a/donnee/client.txt b/donnee/client.txt index 9edf4e1..40223f2 100644 --- a/donnee/client.txt +++ b/donnee/client.txt @@ -1,4 +1,4 @@ -32 0 0 -660 30.00 0 -5079 75.50 0 -8043 50.50 1 +32 0.00 0 +660 19.55 0 +5079 75.50 0 +8043 50.50 1 diff --git a/src/app/core_logic/client.c b/src/app/core_logic/client.c index 9ed649a..d871d19 100644 --- a/src/app/core_logic/client.c +++ b/src/app/core_logic/client.c @@ -226,3 +226,36 @@ void reinitialiser_panier(int panier[], int quantites[], int *taillePanier) { *taillePanier = 0; printf("Panier réinitialisé avec succès.\n"); } + +void deduire_cagnotte(int numeroClient, float montant, int numeros[], float cagnottes[], int nombreClients, int suspendus[]) { + int clientIndex = -1; + for (int i = 0; i < nombreClients; i++) { + if (numeros[i] == numeroClient) { + clientIndex = i; + break; + } + } + + if (clientIndex == -1) { + printf("Client non trouvé. Impossible de déduire la cagnotte.\n"); + return; + } + + if (cagnottes[clientIndex] < montant) { + printf("Cagnotte insuffisante. Impossible de déduire la cagnotte.\n"); + return; + } + + cagnottes[clientIndex] -= montant; + + FILE *fe; + fe = fopen("donnee/client.txt", "w"); + if (fe == NULL) { + perror("fopen"); + return; + } + for (int i = 0; i < nombreClients; i++) { + fprintf(fe, "%d %.2f %d\n", numeros[i], cagnottes[i], suspendus[i]); + } + fclose(fe); +} \ No newline at end of file diff --git a/src/app/core_logic/client.h b/src/app/core_logic/client.h index 9653efd..c7d8bfa 100644 --- a/src/app/core_logic/client.h +++ b/src/app/core_logic/client.h @@ -17,4 +17,6 @@ void affiche_recap_panier(int panier[], int taillePanier, int references[], floa float prixUnitaire[], int quantites[]); void modifier_quantite_article_panier(int panier[], int quantites[], int *taillePanier); void reinitialiser_panier(int panier[], int quantites[], int *taillePanier); +void deduire_cagnotte(int numeroClient, float montant, int numeros[], float cagnottes[], int nombreClients, int suspendus[]); + #endif //SAE_101_CLIENT_H diff --git a/src/app/interface/interface_client.c b/src/app/interface/interface_client.c index c6d1767..57da344 100644 --- a/src/app/interface/interface_client.c +++ b/src/app/interface/interface_client.c @@ -110,6 +110,22 @@ void global_client() { reinitialiser_panier(panier, quantites, &taillePanier); break; case 9: + printf("Voulez-vous déduire de votre cagnotte avant de quitter ? (1 pour Oui, 0 pour Non) : "); + int choixCagnotte; + scanf("%d", &choixCagnotte); + if (choixCagnotte == 1) { + // Demander le montant à déduire de la cagnotte + float montant; + printf("Entrez le montant à déduire de votre cagnotte : "); + scanf("%f", &montant); + + // Appeler la fonction pour déduire la cagnotte + deduire_cagnotte(numeroClient, montant, numeros, cagnottes, nombreClients, suspendus); + + // Informer le client que la cagnotte a été déduite + printf("Le montant a été déduit de votre cagnotte.\n"); + } + printf("Au revoir !\n"); return; default: