Merge branch 'master' of https://codefirst.iut.uca.fr/git/remi.lavergne/SAE1.01-Algorithmique
continuous-integration/drone/push Build is passing Details

master
Julien ABADIE 1 year ago
commit e5af19195d

@ -67,27 +67,3 @@ void errorHandling(int error)
printf("\x1B[0m"); 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;
}
}

Binary file not shown.

@ -13,7 +13,6 @@
//! GESTION DES ERREURS & CODES //! GESTION DES ERREURS & CODES
void errorHandling(int error); void errorHandling(int error);
void debugHandling(int code);
//! DEBUG //! DEBUG
void debugMenu(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlogArticle, int tlogClient); void debugMenu(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlogArticle, int tlogClient);

@ -135,7 +135,7 @@ void adminMenu(int clientID[], int clientPassword[], float cagnotte[], int suspe
modifyClient(clientID, cagnotte, suspended, isAdmin, *tlogClient); modifyClient(clientID, cagnotte, suspended, isAdmin, *tlogClient);
break; break;
case 3: case 3:
deleteClient(clientID, cagnotte, suspended, isAdmin, tlogClient); deleteClient(clientID, clientPassword, cagnotte, suspended, isAdmin, tlogClient);
break; break;
case 4: case 4:
inputItem(tabReference, tabWeight, tabVolume, unitPrice, tlogItem); inputItem(tabReference, tabWeight, tabVolume, unitPrice, tlogItem);

@ -64,7 +64,7 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin
scanf("%d%*c", &numClient); scanf("%d%*c", &numClient);
} }
index = searchTab(clientID, numClient, tlog, &found); 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: "); printf("Cet identifiant client n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: ");
scanf("%d%*c", &numClient); scanf("%d%*c", &numClient);
@ -85,7 +85,7 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin
else if (modif == 'c') else if (modif == 'c')
{ {
printf("Entrez le montant à ajouter à la cagnotte: "); printf("Entrez le montant à ajouter à la cagnotte: ");
scanf("%f", &montant); scanf("%f%*c", &montant);
cagnotte[index] += montant; cagnotte[index] += montant;
} }
else if (modif == 'a') else if (modif == 'a')
@ -112,11 +112,11 @@ void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float u
while(reference != 0) while(reference != 0)
{ {
printf("Entrez la référence du produit ou 0 si vous souhaitez arrêter la saisie: "); 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) 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: "); 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); 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) 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: "); 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); index = searchTab(tabReference, reference, *tlog, &found);
} }
if (reference != 0) if (reference != 0)
{ {
printf("Entrez le poids du produit: "); printf("Entrez le poids du produit: ");
scanf("%f", &weight); scanf("%f%*c", &weight);
while (weight < 0) while (weight < 0)
{ {
printf("Erreur: le poids doit être positif, entrez le poids du produit: "); 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: "); printf("Entrez le volume du produit: ");
scanf("%f", &volume); scanf("%f%*c", &volume);
while (volume < 0) while (volume < 0)
{ {
printf("Erreur: le volume doit être positif, entrez le volume du produit: "); 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: "); printf("Entrez le prix du produit: ");
scanf("%f", &price); scanf("%f%*c", &price);
while (price < 0) while (price < 0)
{ {
printf("Erreur: le prix doit être positif, entrez le prix du produit: "); printf("Erreur: le prix doit être positif, entrez le prix du produit: ");
scanf("%f", &price); scanf("%f%*c", &price);
} }
//Décalage //Décalage
@ -184,17 +184,17 @@ void deleteItem(int tabReference[], float tabWeight[], float tabVolume[], float
while (reference != 0) while (reference != 0)
{ {
printf("Entrez la référence du produit à supprimer ou 0 si vous souhaitez arrêter la saisie: "); 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) 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: "); 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); 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: "); 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); index = searchTab(tabReference, reference, *tlog, &found);
} }
@ -223,17 +223,17 @@ void deleteClient(int clientID[], int clientPassword[], float cagnotte[], int su
while (numClient != 0) while (numClient != 0)
{ {
printf("Entrez l'identifiant du client à supprimer ou 0 si vous souhaitez arrêter la saisie: "); 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) 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: "); 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); 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: "); 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); index = searchTab(clientID, numClient, *tlog, &found);
} }

@ -18,27 +18,27 @@ void clientConstraint(float *weight, float *volume, float *price)
{ {
// Saisie des contraintes du client. // Saisie des contraintes du client.
printf("Entrez la charge maximale de votre véhicule en kilogrammes: "); printf("Entrez la charge maximale de votre véhicule en kilogrammes: ");
scanf("%f", weight); scanf("%f%*c", weight);
while (*weight < 0) while (*weight < 0)
{ {
printf("Erreur, le poids doit être positif, entrez la charge maximale de votre véhicule en kilogrammes: "); 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: "); printf("Entrez le volume du coffre de votre véhicule en mètres cubes: ");
scanf("%f", volume); scanf("%f%*c", volume);
while (*volume < 0) while (*volume < 0)
{ {
printf("Erreur: le volume doit être positif, entrez le volume du coffre de votre véhicule en mètres cubes: "); 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: "); 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) while (*price < 0 && *price != -1)
{ {
printf("Erreur: le prix doit être positif, entrez votre budget maximum ou -1 si vous n'en avez pas: "); 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 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); 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) if (cagnotteUse == -1)
return -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: "); 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) 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); 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) if (cagnotteUse == -1)
return -1; return -1;
*cagnotte -= cagnotteUse; *cagnotte -= cagnotteUse;
@ -142,7 +142,7 @@ void basket_add(int tab_reference[], float unitPrice[], float *cagnotte, int ba
return; return;
} }
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%*c", &ref_to_add);
index_ajout = searchTab(tab_reference, ref_to_add, tlogItem, &trouve); index_ajout = searchTab(tab_reference, ref_to_add, tlogItem, &trouve);
while (trouve == 0) 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; 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?");
scanf("%d", &qte_to_add); scanf("%d%*c", &qte_to_add);
while (qte_to_add <= 0) while (qte_to_add <= 0)
{ {
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%*c", &qte_to_add);
} }
for (i=*tlog_basket; i>=index_ajout; i--) 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; 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%*c",&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%*c",&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)
{ {
printf("Combien d'articles e ce type voulez-vous supprimer?"); 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) while(qte_to_del<=0)
{ {
errorHandling(-14); errorHandling(-14);
scanf("%d",&qte_to_del); scanf("%d%*c",&qte_to_del);
} }
while(basket_tab_qte[index_to_del]-qte_to_del>=0) while(basket_tab_qte[index_to_del]-qte_to_del>=0)
{ {
errorHandling(-12); errorHandling(-12);
scanf("%d",&qte_to_del); scanf("%d%*c",&qte_to_del);
} }
if (qte_to_del<basket_tab_qte[index_to_del]) if (qte_to_del<basket_tab_qte[index_to_del])
{ {

Loading…
Cancel
Save