diff --git a/src/display.c b/src/display.c index 2819da1..312b4a3 100644 --- a/src/display.c +++ b/src/display.c @@ -5,6 +5,11 @@ void displayItem(int tabReference[], float weight[], float volume[], float unitP int reference, index; printf("Entrez la référence de l'article cherché: "); scanf("%d", &reference); + while (reference < 0) + { + printf("Erreur, la référence doit être positive, entrez la référence de l'article cherché: "); + scanf("%d", &reference); + } index = recherche(reference, tabReference, tlog); if (index == -1) { @@ -29,6 +34,11 @@ void displayClient(int clientID[], float cagnotte[], int suspended[], int tlog) int id, index; printf("Entrez le numéro du client cherché: "); scanf("%d", &id); + while (id < 0) + { + printf("Erreur, le numéro du client doit être positif, entrez le numéro du client cherché: "); + scanf("%d", &id); + } index = recherche(id, clientID, tlog); if (index == -1) { diff --git a/src/main.h b/src/main.h index 7dce7bb..cbc3906 100644 --- a/src/main.h +++ b/src/main.h @@ -34,4 +34,7 @@ void displayClient(int clientID[], float cagnotte[], int suspended[], int tlog); void displayClientList(int clientID[], float cagnotte[], int suspended[], int tlog); //! RECHERCHE -int recherche(int val, int tab[], int tlog); \ No newline at end of file +int recherche(int val, int tab[], int tlog); + +//! PANIER +void clientConstraint(float *weight, float *volume, float *price); \ No newline at end of file diff --git a/src/modif.c b/src/modif.c index 25b94f0..6c91e48 100644 --- a/src/modif.c +++ b/src/modif.c @@ -31,9 +31,19 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int tlog) int index, numClient, modif, montant; printf("Entrez le numéro du client dont vous voulez modifier les données: "); scanf("%d%*c", &numClient); + 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: "); + scanf("%d", &numClient); + } index = recherche(numClient, clientID, tlog); - printf("Entrez la modification voulue (s pour suspendre ou réactiver, c pour ajouter à la cagnotte)"); - scanf("%c", &modif); + printf("Entrez la modification voulue (s pour suspendre ou réactiver, c pour ajouter à la cagnotte): "); + scanf("%c%*c", &modif); + while (modif != 's' && modif != 'c') + { + printf("Erreur, le choix doit être 'c' ou 's', entrez la modification voulue (s pour suspendre ou réactiver, c pour ajouter à la cagnotte): "); + scanf("%c%*c", &modif); + } if (modif == 's') if (suspended[index] == 0) suspended[index] = 1; @@ -50,7 +60,7 @@ void modifyClient(int clientID[], float cagnotte[], int suspended[], int tlog) void inputItem(void) { int reference = 1; - float poids, volume, prix; + float weight, volume, price; FILE *item; item = fopen("article.txt", "a"); if (item == NULL) @@ -63,12 +73,35 @@ void inputItem(void) { printf("Entrez la référence du produit ou 0 si vous souhaitez arrêter la saisie: "); scanf("%d", &reference); + 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: "); + scanf("%d", &reference); + } + printf("Entrez le poids du produit: "); - scanf("%f", &poids); + scanf("%f", &weight); + while (weight <= 0) + { + printf("Erreur, le poids doit être positif"); + scanf("%f", &weight); + } + printf("Entrez le volume du produit: "); scanf("%f", &volume); + while (volume <= 0) + { + printf("Erreur, le volume doit être positif"); + scanf("%f", &volume); + } + printf("Entrez le prix du produit: "); - scanf("%f", &prix); + scanf("%f", &price); + while (price <= 0) + { + printf("Erreur, le prix doit être positif"); + scanf("%f", &price); + } } fclose(item); } \ No newline at end of file diff --git a/src/panier.c b/src/panier.c new file mode 100644 index 0000000..ff52dca --- /dev/null +++ b/src/panier.c @@ -0,0 +1,31 @@ +#include "main.h" + +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); + while (*weight < 0) + { + printf("Erreur, le poids doit être positif, entrez la charge maximale de votre véhicule en kilogrammes: "); + scanf("%f", weight); + } + + printf("Entrez le volume du coffre de votre véhicule en mètres cubes: "); + scanf("%f", 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); + } + + printf("Entrez votre budget maximum ou -1 si vous n'en avait pas: "); + scanf("%f", price); + while (*price < 0 || *price != -1) + { + printf("Erreur: le prix doit être positif, entrez votre budget maximum ou -1 si vous n'en avait pas: "); + scanf("%f", price); + } +} \ No newline at end of file