|
|
|
@ -1,34 +1,53 @@
|
|
|
|
|
#include "main.h"
|
|
|
|
|
|
|
|
|
|
void inputClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog)
|
|
|
|
|
/**
|
|
|
|
|
* @brief Fonction d'inserion d'un client
|
|
|
|
|
* @param clientID: Tableau des identifiants client
|
|
|
|
|
* @param cagnotte: Tableau des cagnottes client
|
|
|
|
|
* @param suspended: Tableau des états de compte client
|
|
|
|
|
* @param isAdmin: Tableau des statuts Administrateur des clients
|
|
|
|
|
* @param tlog: Taille logique de ces tableaux
|
|
|
|
|
* @return 0 > Tout s'est bien passé, -1 > L'utilisateur a quitté, -2 > La taille physique du tableau est dépassée
|
|
|
|
|
*/
|
|
|
|
|
int inputClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog)
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
Ajout d'un ou plusieurs clients dans les tableaux
|
|
|
|
|
int index, found, id = -1;
|
|
|
|
|
float cagnotteClient;
|
|
|
|
|
|
|
|
|
|
+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;
|
|
|
|
|
// Vérification du dépassement de la taille physique du tableau
|
|
|
|
|
if (*tlog == tmaxClients)
|
|
|
|
|
{
|
|
|
|
|
printf("[ERREUR] - La taille physique du tableau est dépassée, impossible d'ajouter un nouveau client.\n");
|
|
|
|
|
return -2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while (numClient != 0)
|
|
|
|
|
while(id != 0)
|
|
|
|
|
{
|
|
|
|
|
printf("Entrez le numéro du client ou 0 si vous souhaitez arrêter la saisie: ");
|
|
|
|
|
scanf("%d", &numClient);
|
|
|
|
|
while (numClient < 0)
|
|
|
|
|
printf("Entrez l'identifiant du client ou 0 si vous souhaitez arrêter la saisie: ");
|
|
|
|
|
scanf("%d%*c", &id);
|
|
|
|
|
while(id < 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);
|
|
|
|
|
printf("[ERREUR] - L'identifiant doit être positif, entrez l'identifiant du client ou 0 si vous souhaitez arrêter la saisie: ");
|
|
|
|
|
scanf("%d%*c", &id);
|
|
|
|
|
}
|
|
|
|
|
index = searchTab(clientID, id, *tlog, &found);
|
|
|
|
|
while(found == 1)
|
|
|
|
|
{
|
|
|
|
|
printf("Cet identifiant existe déjà, réessayer ou tapez 0 si vous souhaitez arrêter la saisie: ");
|
|
|
|
|
scanf("%d%*c", &id);
|
|
|
|
|
index = searchTab(clientID, id, *tlog, &found);
|
|
|
|
|
}
|
|
|
|
|
clientID[*tlog] = numClient;
|
|
|
|
|
cagnotte[*tlog] = 0;
|
|
|
|
|
suspended[*tlog] = 0;
|
|
|
|
|
isAdmin[*tlog] = 0;
|
|
|
|
|
if(id != 0)
|
|
|
|
|
{
|
|
|
|
|
clientID[index] = id;
|
|
|
|
|
cagnotte[index] = 0;
|
|
|
|
|
suspended[index] = 0;
|
|
|
|
|
isAdmin[index] = 0;
|
|
|
|
|
*tlog++;
|
|
|
|
|
return 0; // Tout s'est bien passé
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return -1; // L'utilisateur a quitté
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog)
|
|
|
|
|