diff --git a/src/errorHandling.c b/src/errorHandling.c index 4411c9b..c49b8f8 100644 --- a/src/errorHandling.c +++ b/src/errorHandling.c @@ -67,27 +67,3 @@ void errorHandling(int error) printf("\x1B[0m"); } } - -/** - * @brief La fonction `debugHandling` aide au debug en écrivant du texte selon l'entrée. - * - * @param code Entier qui représente l'entrée. - */ -void debugHandling(int code) -{ - switch(code) - { - case 1: - printf("DEBUG: La fonction a été appelée.\n"); - break; - case 2: - printf("DEBUG: La fonction a été appelée et s'est terminée correctement.\n"); - break; - case 3: - printf("DEBUG: La fonction a été appelée et s'est terminée avec une erreur.\n"); - break; - default: - printf("DEBUG: La fonction a été appelée avec un code inconnu.\n"); - break; - } -} \ No newline at end of file diff --git a/src/exe b/src/exe new file mode 100644 index 0000000..022499c Binary files /dev/null and b/src/exe differ diff --git a/src/main.h b/src/main.h index 812ec78..ce76bad 100644 --- a/src/main.h +++ b/src/main.h @@ -13,7 +13,6 @@ //! GESTION DES ERREURS & CODES void errorHandling(int error); -void debugHandling(int code); //! DEBUG void debugMenu(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlogArticle, int tlogClient); diff --git a/src/menu.c b/src/menu.c index a8389da..e29e3d1 100644 --- a/src/menu.c +++ b/src/menu.c @@ -135,7 +135,7 @@ void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspe modifyClient(clientID, cagnotte, suspended, isAdmin, *tlogClient); break; case 3: - deleteClient(clientID, cagnotte, suspended, isAdmin, tlogClient); + deleteClient(clientID, clientPassword, cagnotte, suspended, isAdmin, tlogClient); break; case 4: inputItem(tabReference, tabWeight, tabVolume, unitPrice, tlogItem); diff --git a/src/modif.c b/src/modif.c index ff751e0..6052dc6 100644 --- a/src/modif.c +++ b/src/modif.c @@ -64,7 +64,7 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin scanf("%d%*c", &numClient); } index = searchTab(clientID, numClient, tlog, &found); - while (index == -1) + while(found == 0) { printf("Cet identifiant client n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: "); scanf("%d%*c", &numClient); @@ -85,7 +85,7 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin else if (modif == 'c') { printf("Entrez le montant à ajouter à la cagnotte: "); - scanf("%f", &montant); + scanf("%f%*c", &montant); cagnotte[index] += montant; } else if (modif == 'a') @@ -112,11 +112,11 @@ void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float u while(reference != 0) { printf("Entrez la référence du produit ou 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &reference); + scanf("%d%*c", &reference); while (reference < 0) { 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); + scanf("%d%*c", &reference); } index = searchTab(tabReference, reference, *tlog, &found); @@ -124,32 +124,32 @@ void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float u while(found == 1 && reference != 0) { printf("Cette référence existe déjà, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &reference); + scanf("%d%*c", &reference); index = searchTab(tabReference, reference, *tlog, &found); } if (reference != 0) { printf("Entrez le poids du produit: "); - scanf("%f", &weight); + scanf("%f%*c", &weight); while (weight < 0) { printf("Erreur: le poids doit être positif, entrez le poids du produit: "); - scanf("%f", &weight); + scanf("%f%*c", &weight); } printf("Entrez le volume du produit: "); - scanf("%f", &volume); + scanf("%f%*c", &volume); while (volume < 0) { printf("Erreur: le volume doit être positif, entrez le volume du produit: "); - scanf("%f", &volume); + scanf("%f%*c", &volume); } printf("Entrez le prix du produit: "); - scanf("%f", &price); + scanf("%f%*c", &price); while (price < 0) { printf("Erreur: le prix doit être positif, entrez le prix du produit: "); - scanf("%f", &price); + scanf("%f%*c", &price); } //Décalage @@ -184,17 +184,17 @@ void deleteItem(int tabReference[], float tabWeight[], float tabVolume[], float while (reference != 0) { printf("Entrez la référence du produit à supprimer ou 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &reference); + scanf("%d%*c", &reference); while (reference < 0) { 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); + scanf("%d%*c", &reference); } index = searchTab(tabReference, reference, *tlog, &found); - while (index == -1) + while(found == 0) { printf("Cette référence n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &reference); + scanf("%d%*c", &reference); index = searchTab(tabReference, reference, *tlog, &found); } @@ -223,17 +223,17 @@ void deleteClient(int clientID[], int clientPassword[], float cagnotte[], int su while (numClient != 0) { printf("Entrez l'identifiant du client à supprimer ou 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &numClient); + scanf("%d%*c", &numClient); while (numClient < 0) { printf("Erreur, le numéro du client doit être positif, entrez le numéro du client ou 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &numClient); + scanf("%d%*c", &numClient); } index = searchTab(clientID, numClient, *tlog, &found); - while (index == -1) + while(found == 0) { printf("Cet identifiant client n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: "); - scanf("%d", &numClient); + scanf("%d%*c", &numClient); index = searchTab(clientID, numClient, *tlog, &found); } diff --git a/src/panier.c b/src/panier.c index b5978b3..1410ff9 100644 --- a/src/panier.c +++ b/src/panier.c @@ -18,27 +18,27 @@ void clientConstraint(float *weight, float *volume, float *price) { // Saisie des contraintes du client. printf("Entrez la charge maximale de votre véhicule en kilogrammes: "); - scanf("%f", weight); + scanf("%f%*c", weight); while (*weight < 0) { printf("Erreur, le poids doit être positif, entrez la charge maximale de votre véhicule en kilogrammes: "); - scanf("%f", weight); + scanf("%f%*c", weight); } printf("Entrez le volume du coffre de votre véhicule en mètres cubes: "); - scanf("%f", volume); + scanf("%f%*c", volume); while (*volume < 0) { printf("Erreur: le volume doit être positif, entrez le volume du coffre de votre véhicule en mètres cubes: "); - scanf("%f", volume); + scanf("%f%*c", volume); } printf("Entrez votre budget maximum ou -1 si vous n'en avez pas: "); - scanf("%f", price); + scanf("%f%*c", price); while (*price < 0 && *price != -1) { printf("Erreur: le prix doit être positif, entrez votre budget maximum ou -1 si vous n'en avez pas: "); - scanf("%f", price); + scanf("%f%*c", price); } } @@ -97,7 +97,7 @@ int constraintExceeded(float weightConstraint, float volumeConstraint, float *pr else { printf("Vous pouvez utiliser votre cagnotte, dont le montant est de %.2f, entrez le montant à utiliser ou -1 si vous voulez retirer un article: ", *cagnotte); - scanf("%f", &cagnotteUse); + scanf("%f%*c", &cagnotteUse); if (cagnotteUse == -1) return -1; @@ -107,7 +107,7 @@ int constraintExceeded(float weightConstraint, float volumeConstraint, float *pr printf("Erreur: vous ne pouvez pas utiliser plus que vous n'avez, réessayez ou entrer -1 si vous souhaitez retirer un article: "); if (totalPrice-cagnotteUse > *priceConstraint) printf("Erreur: vous n'avez pas utilisé assez de votre cagnotte, vous devez utiliser au moins %.2f, veuillez rentrer le montant à utiliser ou -1 si vous voulez retirer un article: ", totalPrice - *priceConstraint); - scanf("%f", &cagnotteUse); + scanf("%f%*c", &cagnotteUse); if (cagnotteUse == -1) return -1; *cagnotte -= cagnotteUse; @@ -142,7 +142,7 @@ void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int ba return; } printf("Quelle référence souhaitez-vous ajouter au panier?"); - scanf("%d", &ref_to_add); + scanf("%d%*c", &ref_to_add); index_ajout = searchTab(tab_reference, ref_to_add, tlogItem, &trouve); while (trouve == 0) { @@ -152,11 +152,11 @@ void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int ba } basket_tab_ref[index_ajout] = ref_to_add; printf("Quelle quantité de cet article souhaitez-vous ajouter au panier?"); - scanf("%d", &qte_to_add); + scanf("%d%*c", &qte_to_add); while (qte_to_add <= 0) { printf("Vous ne pouvez pas ajouter une quantité nulle ou négative ressayez"); - scanf("%d", &qte_to_add); + scanf("%d%*c", &qte_to_add); } for (i=*tlog_basket; i>=index_ajout; i--) { @@ -194,27 +194,27 @@ void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_ba int ref_to_del, trouve, index_to_del, qte_to_del, i; printf("Quelle référence voulez vous supprimer de votre panier?\n"); - scanf("%d",&ref_to_del); + scanf("%d%*c",&ref_to_del); index_to_del = searchTab(basket_tab_ref, ref_to_del, *tlog_basket, &trouve); while (trouve == 0) { printf("Erreur, la valeur que vous voulez supprimer n'existe pas, réssayez"); - scanf("%d",&ref_to_del); + scanf("%d%*c",&ref_to_del); index_to_del = searchTab(basket_tab_ref, ref_to_del, *tlog_basket, &trouve); } if (basket_tab_qte[index_to_del]>1) { printf("Combien d'articles e ce type voulez-vous supprimer?"); - scanf("%d",&qte_to_del); + scanf("%d%*c",&qte_to_del); while(qte_to_del<=0) { errorHandling(-14); - scanf("%d",&qte_to_del); + scanf("%d%*c",&qte_to_del); } while(basket_tab_qte[index_to_del]-qte_to_del>=0) { errorHandling(-12); - scanf("%d",&qte_to_del); + scanf("%d%*c",&qte_to_del); } if (qte_to_del