You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

209 lines
7.5 KiB

#include "main.h"
void inputClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog)
{
/*
Ajout d'un ou plusieurs clients dans les tableaux
+param clientID: tableau des identifiants des clients
+param cagnotte: tableau des cagnottes des clients
+param suspended: tableau de l'état du compte des clients
+param tlog: taille logique des tableaux des clients
+var numClient: identifiant du client à ajouter
*/
int numClient = -1;
while (numClient != 0)
{
printf("Entrez le numéro du client ou 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &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);
}
clientID[*tlog] = numClient;
cagnotte[*tlog] = 0;
suspended[*tlog] = 0;
isAdmin[*tlog] = 0;
*tlog ++;
}
}
void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog)
{
/*
Modification des données d'un client dans les tableaux
+param clientID: tableau des identifiants des clients
+param cagnotte: tableau des cagnottes des clients
+param suspended: tableau de l'état du compte des clients
+param tlog: taille logique des tableaux des clients
+var numClient: identifiant du client à modifier
+var index: index de l'article recherché dans le tableau pour le modifier
+var montant: montant à ajouter à la cagnotte
+var modif: modification à exécuter sur le client
*/
int index, numClient;
float montant;
char modif;
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%*c", &numClient);
}
index = recherche(numClient, clientID, tlog);
while (index == -1)
{
printf("Cet identifiant client n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: ");
scanf("%d%*c", &numClient);
index = recherche(numClient, clientID, tlog);
}
printf("Entrez la modification voulue (s pour suspendre ou réactiver, c pour ajouter à la cagnotte, a pour activer ou désactiver les droits administrateurs): ");
scanf("%c%*c", &modif);
while (modif != 's' && modif != 'c' && modif != 'a')
{
printf("Erreur, le choix doit être 'c' ou 's', entrez la modification voulue (s pour suspendre ou réactiver, c pour ajouter à la cagnotte, a pour activer ou désactiver les droits administrateurs): ");
scanf("%c%*c", &modif);
}
if (modif == 's')
if (suspended[index] == 0)
suspended[index] = 1;
else if (suspended[index] == 1)
suspended[index] = 0;
else if (modif == 'c')
{
printf("Entrez le montant à ajouter à la cagnotte: ");
scanf("%f", &montant);
cagnotte[index] += montant;
}
else if (modif == 'a')
if (isAdmin[index] == 0)
isAdmin[index] = 1;
else if (isAdmin[index] == 1)
isAdmin[index] = 0;
}
void inputItem(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int *tlog)
{
/*
Ajout d'un ou plusieurs articles dans les tableaux d'articles (reference, poids, volume et prix)
+param tabReference: tableau des références des articles
+param weight: tableau des poids des articles
+param volume: tableau des volumes des articles
+param unitPrice: tableau des prix à l'unité des articles
+param tlog: taille logique des tableaux des articles
+var reference: reference de l'article à ajouter
+var weight: poids de l'article à ajouter
+var volume: volume de l'article à ajoueter
+var price: prix de l'article à ajouter
*/
int reference = -1;
float weight, volume, price;
while (reference != 0)
{
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);
}
tabReference[*tlog] = reference;
printf("Entrez le poids du produit: ");
scanf("%f", &weight);
while (weight <= 0)
{
printf("Erreur, le poids doit être positif");
scanf("%f", &weight);
}
tabWeight[*tlog] = weight;
printf("Entrez le volume du produit: ");
scanf("%f", &volume);
while (volume <= 0)
{
printf("Erreur, le volume doit être positif");
scanf("%f", &volume);
}
tabVolume[*tlog] = volume;
printf("Entrez le prix du produit: ");
scanf("%f", &price);
while (price <= 0)
{
printf("Erreur, le prix doit être positif");
scanf("%f", &price);
}
unitPrice[*tlog] = price;
*tlog++;
}
}
void deleteItem(int tabReference[], float tabWeight[], float tabVolume[], float unitPrice[], int *tlog)
{
int reference = -1, index, i;
while (reference != 0)
{
printf("Entrez la référence du produit à supprimer 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);
}
index = recherche(reference, tabReference, *tlog);
while (index == -1)
{
printf("Cette référence n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &reference);
index = recherche(reference, tabReference, *tlog);
}
for (i=*tlog; i>index; i--)
{
tabReference[i-1] = tabReference[i];
tabWeight[i-1] = tabWeight[i];
tabVolume[i-1] = tabVolume[i];
unitPrice[i-1] = unitPrice[i];
}
*tlog--;
}
}
void deleteClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog)
{
int numClient = -1, index, i;
while (numClient != 0)
{
printf("Entrez l'identifiant du client à supprimer ou 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &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);
while (index == -1)
{
printf("Cet identifiant client n'existe pas, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &numClient);
index = recherche(numClient, clientID, *tlog);
}
for (i=*tlog; i>index; i--)
{
clientID[i-1] = clientID[i];
cagnotte[i-1] = cagnotte[i];
suspended[i-1] = suspended[i];
isAdmin[i-1] = isAdmin[i];
}
*tlog--;
}
}