Contrôles de saisie et contraintes du client

doc
louis.germain 2 years ago
parent cc46697f12
commit c3153b8adb

@ -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)
{

@ -35,3 +35,6 @@ void displayClientList(int clientID[], float cagnotte[], int suspended[], int tl
//! RECHERCHE
int recherche(int val, int tab[], int tlog);
//! PANIER
void clientConstraint(float *weight, float *volume, float *price);

@ -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);
}

@ -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);
}
}
Loading…
Cancel
Save