diff --git a/src/panier.c b/src/panier.c index ff35784..658343d 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; @@ -137,7 +137,7 @@ void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int ba int i, ref_to_add, qte_to_add, trouve, index_ajout; float total_weight[tmaxArticles], total_volume[tmaxArticles], total_price[tmaxArticles], total_cagnotte[tmaxArticles]; 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) { @@ -147,11 +147,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--) { @@ -189,27 +189,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