correction du décalage pour basket add et delete

master
Julien ABADIE 1 year ago
parent e423594cbb
commit 5d7ca408f9

@ -131,11 +131,10 @@ int constraintExceeded(float weightConstraint, float volumeConstraint, float *pr
* @param basket_tab_qte: tableau de la quantité de l'article du panier. * @param basket_tab_qte: tableau de la quantité de l'article du panier.
* @param tlog: taille logique du tableau `tab_reference`. * @param tlog: taille logique du tableau `tab_reference`.
* @param tlog_basket: taille logique du panier. * @param tlog_basket: taille logique du panier.
* @return taille logique du panier.
*/ */
void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int basket_tab_ref[], int basket_tab_qte[], int tlogItem, int *tlog_basket) void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int basket_tab_ref[], int basket_tab_qte[], int tlogItem, int *tlog_basket)
{ {
int ref_to_add, qte_to_add, trouve, index_ajout; int i, ref_to_add, qte_to_add, trouve, index_ajout;
float total_weight[tmaxArticles], total_volume[tmaxArticles], total_price[tmaxArticles], total_cagnotte[tmaxArticles]; float total_weight[tmaxArticles], total_volume[tmaxArticles], total_price[tmaxArticles], total_cagnotte[tmaxArticles];
printf("Quelle référence souhaitez-vous ajouter au panier?"); printf("Quelle référence souhaitez-vous ajouter au panier?");
scanf("%d", &ref_to_add); scanf("%d", &ref_to_add);
@ -154,6 +153,11 @@ void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int ba
printf("Vous ne pouvez pas ajouter une quantité nulle ou négative ressayez"); printf("Vous ne pouvez pas ajouter une quantité nulle ou négative ressayez");
scanf("%d", &qte_to_add); scanf("%d", &qte_to_add);
} }
for (i=*tlog_basket; i>=index_ajout; i--)
{
basket_tab_ref[i]=basket_tab_ref[i+1];
basket_tab_qte[i]=basket_tab_qte[i+1];
}
basket_tab_qte[index_ajout] = ref_to_add; basket_tab_qte[index_ajout] = ref_to_add;
*cagnotte += (unitPrice[index_ajout]*qte_to_add) *0.1; *cagnotte += (unitPrice[index_ajout]*qte_to_add) *0.1;
@ -215,7 +219,7 @@ void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_ba
} }
else if (qte_to_del==basket_tab_qte[index_to_del]) else if (qte_to_del==basket_tab_qte[index_to_del])
{ {
for (i=*tlog_basket; i>index_to_del; i--) for (i=*index_to_del; i<tlog_basket; i++)
{ {
basket_tab_ref[i]=basket_tab_ref[i+1]; basket_tab_ref[i]=basket_tab_ref[i+1];
basket_tab_qte[i]=basket_tab_qte[i+1]; basket_tab_qte[i]=basket_tab_qte[i+1];

Loading…
Cancel
Save