|
|
@ -103,18 +103,18 @@ int constraintExceeded(float weightConstraint, float volumeConstraint, float *pr
|
|
|
|
* @param tlog_basket: taille logique du panier
|
|
|
|
* @param tlog_basket: taille logique du panier
|
|
|
|
* @return taille logique du panier
|
|
|
|
* @return taille logique du panier
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
int basket_add (int tab_reference[], float unitPrice[], float *cagnotte, int basket_tab_ref[], int basket_tab_qte[], int tlog, 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 ref_to_add, qte_to_add, trouve, index_ajout;
|
|
|
|
float total_weight[tlog_basket], total_volume[tlog_basket], total_price[tlog_basket], total_cagnotte[tlog_basket];
|
|
|
|
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);
|
|
|
|
index_ajout = searchTab(tab_reference, ref_to_add, tlog, &trouve);
|
|
|
|
index_ajout = searchTab(tab_reference, ref_to_add, tlogItem, &trouve);
|
|
|
|
while (trouve == 0)
|
|
|
|
while (trouve == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
printf("L'élément que vous souhaitez ajouter n'existe pas, ressayez s'il vous plaît");
|
|
|
|
printf("L'élément que vous souhaitez ajouter n'existe pas, ressayez s'il vous plaît");
|
|
|
|
scanf("%d", &ref_to_add);
|
|
|
|
scanf("%d", &ref_to_add);
|
|
|
|
index_ajout = searchTab(tab_reference, ref_to_add, tlog, &trouve);
|
|
|
|
index_ajout = searchTab(tab_reference, ref_to_add, tlogItem, &trouve);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
basket_tab_ref[index_ajout] = ref_to_add;
|
|
|
|
basket_tab_ref[index_ajout] = ref_to_add;
|
|
|
|
printf("Quelle quantité de cet article souhaitez-vous ajouter au panier?");
|
|
|
|
printf("Quelle quantité de cet article souhaitez-vous ajouter au panier?");
|
|
|
@ -127,9 +127,7 @@ int basket_add (int tab_reference[], float unitPrice[], float *cagnotte, int ba
|
|
|
|
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;
|
|
|
|
tlog_basket = tlog_basket+1;
|
|
|
|
*tlog_basket += 1;
|
|
|
|
|
|
|
|
|
|
|
|
return tlog_basket;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -141,7 +139,9 @@ void reinit_basket(int *tlog_basket)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
*tlog_basket=0;
|
|
|
|
*tlog_basket=0;
|
|
|
|
// En mettant tlog_basket à 0,
|
|
|
|
// En mettant tlog_basket à 0,
|
|
|
|
// on fait comme si la taille logique était à 0, faisant que l'on ne considère plus aucun élément des tableaux
|
|
|
|
// on fait comme si la taille logique était à 0, faisant que l'on ne considère plus aucun élément des tableaux,
|
|
|
|
|
|
|
|
//et donc qu'il est désormais vide.
|
|
|
|
|
|
|
|
return tlog_basket;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -151,18 +151,18 @@ void reinit_basket(int *tlog_basket)
|
|
|
|
* @param tlog_basket: taille logique du panier
|
|
|
|
* @param tlog_basket: taille logique du panier
|
|
|
|
* @return taille logique du panier
|
|
|
|
* @return taille logique du panier
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
int basket_del_article( int basket_tab_ref[], int basket_tab_qte[], int tlog_basket)
|
|
|
|
void basket_del_article(int basket_tab_ref[], int basket_tab_qte[], int *tlog_basket)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int ref_to_del, trouve, index_to_del, qte_to_del, i;
|
|
|
|
int ref_to_del, trouve, index_to_del, qte_to_del, i;
|
|
|
|
|
|
|
|
|
|
|
|
printf("Quelle référence voulez vous supprimer de votre panier?\n");
|
|
|
|
printf("Quelle référence voulez vous supprimer de votre panier?\n");
|
|
|
|
scanf("%d",&ref_to_del);
|
|
|
|
scanf("%d",&ref_to_del);
|
|
|
|
index_to_del = searchTab(basket_tab_ref, ref_to_del, tlog_basket, &trouve);
|
|
|
|
index_to_del = searchTab(basket_tab_ref, ref_to_del, *tlog_basket, &trouve);
|
|
|
|
while (trouve == 0)
|
|
|
|
while (trouve == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
printf("Erreur, la valeur que vous voulez supprimer n'existe pas, réssayez");
|
|
|
|
printf("Erreur, la valeur que vous voulez supprimer n'existe pas, réssayez");
|
|
|
|
scanf("%d",&ref_to_del);
|
|
|
|
scanf("%d",&ref_to_del);
|
|
|
|
index_to_del = searchTab(basket_tab_ref, ref_to_del, tlog_basket, &trouve);
|
|
|
|
index_to_del = searchTab(basket_tab_ref, ref_to_del, *tlog_basket, &trouve);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (basket_tab_qte[index_to_del]>1)
|
|
|
|
if (basket_tab_qte[index_to_del]>1)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -183,16 +183,15 @@ int basket_del_article( int basket_tab_ref[], int basket_tab_qte[], int tlog_bas
|
|
|
|
if (qte_to_del<basket_tab_qte[index_to_del])
|
|
|
|
if (qte_to_del<basket_tab_qte[index_to_del])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
basket_tab_qte[index_to_del]=basket_tab_qte[index_to_del]-qte_to_del;
|
|
|
|
basket_tab_qte[index_to_del]=basket_tab_qte[index_to_del]-qte_to_del;
|
|
|
|
return tlog_basket;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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=*tlog_basket; i>index_to_del; 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];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return tlog_basket-1;
|
|
|
|
*tlog_basket -= 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|