Vidage du buffer dans tout les scanf par sécurité
continuous-integration/drone/push Build is passing Details

master
Rémi LAVERGNE 1 year ago
parent a015a1936d
commit 4fd98f2e4a

@ -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<basket_tab_qte[index_to_del])
{

Loading…
Cancel
Save