Modification de la fonction inputClient pour la mettre à jour

doc
Rémi LAVERGNE 1 year ago
parent 0dd81c0f26
commit 7b3ff2b619
No known key found for this signature in database
GPG Key ID: 8861D8A4AD21A032

@ -21,7 +21,7 @@ void sauvegardeArticles(int reference[], float weight[], float volume[], float u
void sauvegardeClients(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tLogClient);
//! GESTION CLIENTS
void inputClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog);
int inputClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog);
void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog);
void deleteClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int *tlog);

@ -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
+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
int index, found, id = -1;
float cagnotteClient;
+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);
}
if(id != 0)
{
clientID[index] = id;
cagnotte[index] = 0;
suspended[index] = 0;
isAdmin[index] = 0;
*tlog++;
return 0; // Tout s'est bien passé
}
clientID[*tlog] = numClient;
cagnotte[*tlog] = 0;
suspended[*tlog] = 0;
isAdmin[*tlog] = 0;
*tlog ++;
}
return -1; // L'utilisateur a quitté
}
void modifyClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog)

Loading…
Cancel
Save