better doxygen

Signed-off-by: Mathéo Hersan <matheohersan@MacBook-Pro-de-Matheo.local>
pull/12/head
Mathéo Hersan 2 years ago
parent 2068cd7baf
commit 3fb17d951f
No known key found for this signature in database
GPG Key ID: 4EF19C64D78EC91B

@ -1,24 +1,8 @@
/**
* @file client.c
* @brief Fonctions liées à la gestion des clients et de leur panier.
*/
#include "client.h"
#define MAX_ARTICLES 100
#define MAX_CLIENTS 100
/**
* @brief Charge les données des clients à partir d'un fichier.
*
* Cette fonction permet de charger les données des clients à partir d'un fichier.
*
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendues - Tableau des états de suspension des clients.
* @param tPhysique - Taille du tableau physique.
* @return Le nombre de clients chargés ou -1 en cas d'erreur.
*/
int charger_clients(int numeros[], float cagnottes[], int suspendues[], int tPhysique) {
int i = 0, numero, suspendue;
float cagnotte;
@ -42,17 +26,6 @@ int charger_clients(int numeros[], float cagnottes[], int suspendues[], int tPhy
return i;
}
/**
* @brief Sauvegarde les données clients dans un fichier.
*
* Cette fonction permet de sauvegarder les données clients, y compris les numéros de clients, les cagnottes,
* et les états de suspension, dans un fichier texte.
*
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendus - Tableau des états de suspension des clients.
* @param nombreClients - Nombre de clients.
*/
void sauvegarde_clients(int numeros[], float cagnottes[], int suspendus[], int nombreClients) {
FILE *fe;
fe = fopen("donnee/client.txt", "w");
@ -66,16 +39,6 @@ void sauvegarde_clients(int numeros[], float cagnottes[], int suspendus[], int n
fclose(fe);
}
/**
* @brief Recherche l'index de l'article dans le tableau des références.
*
* Cette fonction recherche l'index de l'article avec la référence donnée dans le tableau des références.
*
* @param reference - Référence de l'article à rechercher.
* @param references - Tableau des références des articles.
* @param nombreArticles - Nombre d'articles disponibles.
* @return L'index de l'article s'il est trouvé, sinon -1.
*/
int trouver_index_article(int reference, int references[], int nombreArticles) {
for (int i = 0; i < nombreArticles; i++) {
if (references[i] == reference) {
@ -85,42 +48,15 @@ int trouver_index_article(int reference, int references[], int nombreArticles) {
return -1;
}
/**
* @brief Trouve l'index d'un client dans le tableau des numéros de clients.
*
* Cette fonction recherche le numéro du client dans le tableau des numéros de clients
* et retourne l'index du client s'il est trouvé.
*
* @param numeroClient - Numéro du client à rechercher.
* @param numeros - Tableau des numéros de clients.
* @param nombreClients - Nombre de clients dans le tableau.
* @return L'index du client s'il est trouvé, -1 sinon.
*/
int trouver_index_client(int numeroClient, int numeros[], int nombreClients) {
for (int i = 0; i < nombreClients; i++) {
if (numeros[i] == numeroClient) {
return i; // Retourne l'index du client si trouvé
return i;
}
}
return -1; // Retourne -1 si le client n'est pas trouvé
return -1;
}
/**
* @brief Supprime un article du panier du client.
*
* Cette fonction permet de supprimer un article du panier du client tout en metant a jour la cagnotte.
*
* @param panier
* @param quantites
* @param taillePanier
* @param reference
* @param numeroClient
* @param numeros
* @param nombreClients
* @param references
* @param prixUnitaire
* @param cagnottes
*/
void supprimer_article(int panier[], int quantites[], int *taillePanier, int reference, int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[], float cagnottes[]) {
int articleIndex, clientIndex, quantite = 0;
articleIndex = trouver_index_article(reference, references, MAX_ARTICLES);
@ -143,5 +79,4 @@ void supprimer_article(int panier[], int quantites[], int *taillePanier, int ref
float montantTotal = prixUnitaire[articleIndex] * quantite;
cagnottes[clientIndex] -= 0.1 * montantTotal;
}
}
}

@ -1,82 +1,77 @@
#ifndef SAE_101_CLIENT_H
#define SAE_101_CLIENT_H
/**
* @file client.h
* @brief Fichier d'en-tête pour les fonctions de gestion des clients.
*
* Ce fichier d'en-tête définit les fonctions liées à la gestion des clients, telles que le chargement des clients, la sauvegarde, etc.
*
* @author Hersan Mathéo
*/
#ifndef CLIENT_H
#define CLIENT_H
#include <stdio.h>
#include <stdlib.h>
#include "../interface/interface_client.h"
/**
* @file client.h
* @brief Fonctions liées à la gestion des clients et de leur panier.
*/
/**
* @brief Charge les données des clients à partir d'un fichier.
* @brief Charger les données des clients depuis un fichier.
*
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendues - Tableau des états de suspension des clients.
* @param tPhysique - Taille du tableau physique.
* @return Le nombre de clients chargés ou -1 en cas d'erreur.
* @param numeros - Un tableau de numéros de clients.
* @param cagnottes - Un tableau de cagnottes des clients.
* @param suspendues - Un tableau d'état des clients suspendus.
* @param tPhysique - La taille physique du tableau des clients.
*
* @return Le nombre de clients chargés depuis le fichier.
*/
int charger_clients(int numeros[], float cagnottes[], int suspendues[], int tPhysique);
/**
* @brief Sauvegarde les données clients dans un fichier.
* @brief Sauvegarder les données des clients dans un fichier.
*
* Cette fonction permet de sauvegarder les données clients, y compris les numéros de clients, les cagnottes,
* et les états de suspension, dans un fichier texte.
*
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendus - Tableau des états de suspension des clients.
* @param nombreClients - Nombre de clients.
* @param numeros - Un tableau de numéros de clients.
* @param cagnottes - Un tableau de cagnottes des clients.
* @param suspendus - Un tableau d'état des clients suspendus.
* @param nombreClients - Le nombre total de clients.
*/
void sauvegarde_clients(int numeros[], float cagnottes[], int suspendus[], int nombreClients);
/**
* @brief Supprime un article du panier du client.
*
* Cette fonction permet de supprimer un article du panier du client tout en metant a jour la cagnotte.
* @brief Supprimer un article du panier du client.
*
* @param panier
* @param quantites
* @param taillePanier
* @param reference
* @param numeroClient
* @param numeros
* @param nombreClients
* @param references
* @param prixUnitaire
* @param cagnottes
* @param panier - Le panier d'achat du client.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param[out] taillePanier - Un pointeur pour stocker la taille du panier.
* @param reference - La référence de l'article à supprimer.
* @param numeroClient - Le numéro du client.
* @param numeros - Un tableau de numéros de clients.
* @param nombreClients - Le nombre total de clients.
* @param references - Un tableau de références d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
* @param cagnottes - Un tableau de cagnottes des clients.
*/
void supprimer_article(int panier[], int quantites[], int *taillePanier, int reference, int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[], float cagnottes[]);
/**
* @brief Recherche l'index de l'article dans le tableau des références.
* @brief Trouver l'index d'une référence d'article dans un tableau.
*
* Cette fonction recherche l'index de l'article avec la référence donnée dans le tableau des références.
* @param reference - La référence de l'article à rechercher.
* @param references - Un tableau de références d'articles.
* @param nombreArticles - Le nombre total d'articles.
*
* @param reference - Référence de l'article à rechercher.
* @param references - Tableau des références des articles.
* @param nombreArticles - Nombre d'articles disponibles.
* @return L'index de l'article s'il est trouvé, sinon -1.
* @return L'index de la référence dans le tableau ou -1 si la référence n'est pas trouvée.
*/
int trouver_index_article(int reference, int references[], int nombreArticles);
/**
* @brief Trouve l'index d'un client dans le tableau des numéros de clients.
* @brief Trouver l'index d'un numéro de client dans un tableau.
*
* Cette fonction recherche le numéro du client dans le tableau des numéros de clients
* et retourne l'index du client s'il est trouvé.
* @param numeroClient - Le numéro de client à rechercher.
* @param numeros - Un tableau de numéros de clients.
* @param nombreClients - Le nombre total de clients.
*
* @param numeroClient - Numéro du client à rechercher.
* @param numeros - Tableau des numéros de clients.
* @param nombreClients - Nombre de clients dans le tableau.
* @return L'index du client s'il est trouvé, -1 sinon.
* @return L'index du numéro de client dans le tableau ou -1 si le numéro de client n'est pas trouvé.
*/
int trouver_index_client(int numeroClient, int numeros[], int nombreClients);
#endif // SAE_101_CLIENT_H
#endif // CLIENT_H

@ -1,15 +1,7 @@
/**
* @file interface_client.c
* @brief Implémentation des fonctions liées à l'interface client.
*/
#include "interface_client.h"
#define MAX_ARTICLES 100
#define MAX_CLIENTS 100
/**
* @brief Affiche le menu principal de l'interface client.
*/
void affiche_client() {
printf("\n");
printf("+-------------+\n");
@ -28,28 +20,6 @@ void affiche_client() {
}
/**
* @brief Ajoute un article au panier du client.
*
* Cette fonction permet d'ajouter un article au panier du client.
*
* @param numeroClient - Numéro du client.
* @param references - Tableau des références des articles.
* @param poids - Tableau des poids des articles.
* @param volume - Tableau des volumes des articles.
* @param prixUnitaire - Tableau des prix unitaires des articles.
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendues - Tableau des états de suspension des clients.
* @param nombreArticles - Nombre d'articles disponibles.
* @param nombreClients - Nombre de clients.
* @param volumeCoffre - Volume total du coffre.
* @param chargeMaximale - Charge maximale du coffre.
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
* @param budget - Budget du client.
*/
void ajouter_article_au_panier(int numeroClient, int references[], float poids[], float volume[], float prixUnitaire[],
int numeros[], float cagnottes[], int suspendues[], int nombreArticles, int nombreClients,
float volumeCoffre, float chargeMaximale, int panier[], int quantites[], int *taillePanier, float budget) {
@ -148,15 +118,6 @@ void ajouter_article_au_panier(int numeroClient, int references[], float poids[]
}
/**
* @brief Supprime un article du panier du client.
*
* Cette fonction permet de supprimer un article du panier du client.
*
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
*/
void supprimer_article_du_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[]) {
int reference, articleIndex;
printf("Entrez la référence de l'article à supprimer : ");
@ -184,27 +145,6 @@ void supprimer_article_du_panier(int panier[], int quantites[], int *taillePanie
}
/**
* @brief Affiche un récapitulatif du contenu du panier.
*
* Cette fonction permet d'afficher un récapitulatif détaillé du contenu du panier du client, y compris les références des articles,
* les quantités, les poids, les volumes, les prix unitaires, les totaux de poids, de volume, de prix, et la cagnotte du client.
*
* @param panier - Tableau des références des articles dans le panier.
* @param taillePanier - Taille du panier.
* @param references - Tableau des références des articles.
* @param poids - Tableau des poids des articles.
* @param volume - Tableau des volumes des articles.
* @param prixUnitaire - Tableau des prix unitaires des articles.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param cagnottes - Tableau des cagnottes des clients.
* @param numeroClient - Numéro du client.
* @param numeros - Tableau des numéros de clients.
* @param nombreClients - Nombre de clients.
* @param volumeCoffre - Volume total du coffre.
* @param chargeMaximale - Charge maximale du coffre.
* @param budget - Budget du client.
*/
void affiche_recap_panier(int panier[], int taillePanier, int references[], float poids[], float volume[],
float prixUnitaire[], int quantites[], float cagnottes[], int numeroClient,
int numeros[], int nombreClients, float volumeCoffre, float chargeMaximale, float budget) {
@ -271,19 +211,6 @@ void affiche_recap_panier(int panier[], int taillePanier, int references[], floa
}
}
/**
* @brief Affiche le récapitulatif du panier.
*
* Cette fonction affiche le récapitulatif du panier, y compris les références, les poids, les volumes, les prix unitaires, elle permet d'initialiser la session du client.
*
* @param numeros
* @param suspendus
* @param nombreClients
* @param budget
* @param volumeCoffre
* @param chargeMaximale
* @param numeroClient
*/
void configurer_session_client(int numeros[], int suspendus[], int nombreClients, double *budget, float *volumeCoffre, float *chargeMaximale, int *numeroClient) {
int indexClient, choixBudget = 0;
@ -332,21 +259,6 @@ void configurer_session_client(int numeros[], int suspendus[], int nombreClients
}
}
/**
* @brief Modifie la quantité d'un article dans le panier du client.
*
* Cette fonction permet de modifier la quantité d'un article dans le panier du client tout en mettant à jour la cagnotte.
*
* @param panier
* @param quantites
* @param taillePanier
* @param cagnottes
* @param numeroClient
* @param prixUnitaire
* @param references
* @param nombreClients
* @param numeros
*/
void modifier_quantite_article_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, float prixUnitaire[], int references[], int nombreClients, int numeros[]) {
int reference, quantite, articleIndex, clientIndex;
@ -389,21 +301,6 @@ void modifier_quantite_article_panier(int panier[], int quantites[], int *taille
printf("Quantité modifiée avec succès.\n");
}
/**
* @brief Réinitialise le panier du client.
*
* Cette fonction permet de réinitialiser le panier du client.
*
* @param panier
* @param quantites
* @param taillePanier
* @param cagnottes
* @param numeroClient
* @param numeros
* @param nombreClients
* @param references
* @param prixUnitaire
*/
void reinitialiser_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[]) {
for (int i = 0; i < *taillePanier; i++) {
supprimer_article(panier, quantites, taillePanier, panier[i], numeroClient, numeros, nombreClients, references, prixUnitaire, cagnottes);
@ -411,18 +308,6 @@ void reinitialiser_panier(int panier[], int quantites[], int *taillePanier, floa
*taillePanier = 0;
}
/**
* @brief Déduit un montant de la cagnotte du client.
*
* Cette fonction permet de déduire un montant de la cagnotte du client.
*
* @param numeroClient - Numéro du client.
* @param montant - Montant à déduire de la cagnotte.
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param nombreClients - Nombre de clients.
* @param suspendus - Tableau des états de suspension des clients.
*/
void deduire_cagnotte(int numeroClient, float montant, int numeros[], float cagnottes[], int nombreClients, int suspendus[]) {
int clientIndex = -1;
for (int i = 0; i < nombreClients; i++) {
@ -447,25 +332,6 @@ void deduire_cagnotte(int numeroClient, float montant, int numeros[], float cagn
printf("Montant déduit de la cagnotte avec succès.\n");
}
/**
* @brief Quitte l'application.
*
* Cette fonction permet de quitter l'application en affichant un récapitulatif du panier et en proposant de déduire un montant de la cagnotte.
*
* @param panier
* @param taillePanier
* @param references
* @param poids
* @param volume
* @param prixUnitaire
* @param quantites
* @param cagnottes
* @param numeroClient
* @param numeros
* @param nombreClients
* @param budget
* @param suspendus
*/
void quitter_application(int panier[], int taillePanier, int references[], float poids[], float volume[],
float prixUnitaire[], int quantites[], float cagnottes[], int numeroClient,
int numeros[], int nombreClients, float budget, int suspendus[]) {
@ -545,11 +411,6 @@ void quitter_application(int panier[], int taillePanier, int references[], float
}
}
/**
* @brief Laisse l'utilisateur choisir une option du menu.
*
* @param[in, out] choix - L'option choisie par l'utilisateur.
*/
void menu_client(int *choix) {
affiche_client();
printf("Vous choisissez: ");
@ -559,13 +420,6 @@ void menu_client(int *choix) {
}
}
/**
* @brief Fonction principale de l'interface client.
*
* Cette fonction permet aux clients d'utiliser l'application pour gérer leur panier
* et effectuer des opérations telles que l'ajout, la suppression ou la modification
* d'articles dans le panier.
*/
void global_client() {
int choix, references[MAX_ARTICLES], numeros[MAX_CLIENTS], suspendus[MAX_CLIENTS], nombreArticles,
nombreClients, numeroClient, quantites[MAX_ARTICLES], panier[MAX_ARTICLES], taillePanier = 0;

@ -1,175 +1,173 @@
/**
* @file interface_client.h
* @brief En-tête des fonctions liées à l'interface client.
* @brief Fichier d'en-tête pour les fonctions de l'interface client.
*
* Ce fichier d'en-tête définit les fonctions liées à l'interaction et à la gestion des clients.
* Ces fonctions incluent des opérations telles que l'ajout d'articles au panier d'un client, la gestion du budget, etc.
*
* @author Hersan Mathéo
*/
#ifndef INTERFACE_CLIENT_H
#define INTERFACE_CLIENT_H
#include <stdio.h>
#include <string.h>
#include "../core_logic/client.h"
#include "../core_logic/responsable.h"
/**
* @brief Affiche le menu principal de l'interface client.
* @brief Afficher les informations du client.
*/
void affiche_client();
/**
* @brief Laisse l'utilisateur choisir une option du menu.
* @brief Afficher le menu du client et enregistrer le choix de l'utilisateur.
*
* @param[in, out] choix - L'option choisie par l'utilisateur.
* @param[out] choix - Un pointeur pour stocker le choix de l'utilisateur.
*/
void menu_client(int *choix);
/**
* @brief Ajoute un article au panier du client.
*
* Cette fonction permet d'ajouter un article au panier du client.
*
* @param numeroClient - Numéro du client.
* @param references - Tableau des références des articles.
* @param poids - Tableau des poids des articles.
* @param volume - Tableau des volumes des articles.
* @param prixUnitaire - Tableau des prix unitaires des articles.
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param suspendues - Tableau des états de suspension des clients.
* @param nombreArticles - Nombre d'articles disponibles.
* @param nombreClients - Nombre de clients.
* @param volumeCoffre - Volume total du coffre.
* @param chargeMaximale - Charge maximale du coffre.
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
* @param budget - Budget du client.
* @brief Ajouter des articles au panier du client.
*
* @param numeroClient - Le numéro du client.
* @param references - Un tableau de références d'articles.
* @param poids - Un tableau de poids d'articles.
* @param volume - Un tableau de volumes d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
* @param numeros - Un tableau de numéros d'articles.
* @param cagnottes - Un tableau de cagnottes.
* @param suspendues - Un tableau d'articles suspendus.
* @param nombreArticles - Le nombre total d'articles disponibles.
* @param nombreClients - Le nombre total de clients.
* @param volumeCoffre - La limite de volume pour le panier du client.
* @param chargeMaximale - La limite de poids pour le panier du client.
* @param panier - Le panier d'achat du client.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param[out] taillePanier - Un pointeur pour stocker la taille du panier.
* @param budget - Le budget du client.
*/
void ajouter_article_au_panier(int numeroClient, int references[], float poids[], float volume[], float prixUnitaire[],
int numeros[], float cagnottes[], int suspendues[], int nombreArticles, int nombreClients,
float volumeCoffre, float chargeMaximale, int panier[], int quantites[], int *taillePanier, float budget);
/**
* @brief Supprime un article du panier du client.
*
* Cette fonction permet de supprimer un article du panier du client.
*
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
* @brief Supprimer un article du panier du client.
*
* @param panier - Le panier d'achat du client.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param[out] taillePanier - Un pointeur pour stocker la taille du panier.
* @param cagnottes - Un tableau de cagnottes.
* @param numeroClient - Le numéro du client.
* @param numeros - Un tableau de numéros d'articles.
* @param nombreClients - Le nombre total de clients.
* @param references - Un tableau de références d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
*/
//void supprimer_article_du_panier(int panier[], int quantites[], int *taillePanier, float prixUnitaire[], int clientIndex, float cagnottes[]);
void supprimer_article_du_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[]);
/**
* @brief Affiche un récapitulatif du contenu du panier.
*
* Cette fonction permet d'afficher un récapitulatif détaillé du contenu du panier du client, y compris les références des articles,
* les quantités, les poids, les volumes, les prix unitaires, les totaux de poids, de volume, de prix, et la cagnotte du client.
*
* @param panier - Tableau des références des articles dans le panier.
* @param taillePanier - Taille du panier.
* @param references - Tableau des références des articles.
* @param poids - Tableau des poids des articles.
* @param volume - Tableau des volumes des articles.
* @param prixUnitaire - Tableau des prix unitaires des articles.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param cagnottes - Tableau des cagnottes des clients.
* @param numeroClient - Numéro du client.
* @param numeros - Tableau des numéros de clients.
* @param nombreClients - Nombre de clients.
* @param volumeCoffre - Volume total du coffre.
* @param chargeMaximale - Charge maximale du coffre.
* @param budget - Budget du client.
* @brief Afficher un récapitulatif du panier du client.
*
* @param panier - Le panier d'achat du client.
* @param taillePanier - La taille du panier.
* @param references - Un tableau de références d'articles.
* @param poids - Un tableau de poids d'articles.
* @param volume - Un tableau de volumes d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param cagnottes - Un tableau de cagnottes.
* @param numeroClient - Le numéro du client.
* @param numeros - Un tableau de numéros d'articles.
* @param nombreClients - Le nombre total de clients.
* @param volumeCoffre - La limite de volume pour le panier du client.
* @param chargeMaximale - La limite de poids pour le panier du client.
* @param budget - Le budget du client.
*/
void affiche_recap_panier(int panier[], int taillePanier, int references[], float poids[], float volume[],
float prixUnitaire[], int quantites[], float cagnottes[], int numeroClient,
int numeros[], int nombreClients, float volumeCoffre, float chargeMaximale, float budget);
/**
* @brief Affiche le récapitulatif du panier.
*
* Cette fonction affiche le récapitulatif du panier, y compris les références, les poids, les volumes, les prix unitaires, elle permet d'initialiser la session du client.
*
* @param numeros
* @param suspendus
* @param nombreClients
* @param budget
* @param volumeCoffre
* @param chargeMaximale
* @param numeroClient
* @brief Configurer la session client.
*
* @param numeros - Un tableau de numéros de clients.
* @param suspendus - Un tableau d'état des clients suspendus.
* @param nombreClients - Le nombre total de clients.
* @param[out] budget - Un pointeur pour stocker le budget du client.
* @param[out] volumeCoffre - Un pointeur pour stocker la limite de volume du panier du client.
* @param[out] chargeMaximale - Un pointeur pour stocker la limite de poids du panier du client.
* @param[out] numeroClient - Un pointeur pour stocker le numéro du client.
*/
void configurer_session_client(int numeros[], int suspendus[], int nombreClients, double *budget, float *volumeCoffre, float *chargeMaximale, int *numeroClient);
/**
* @brief Modifie la quantité d'un article dans le panier du client.
*
* Cette fonction permet de modifier la quantité d'un article dans le panier du client tout en mettant à jour la cagnotte.
*
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
* @param cagnottes - Tableau des cagnottes des clients.
* @param numeroClient - Numéro du client.
* @param prixUnitaire - Tableau des prix unitaires des articles.
* @param references - Tableau des références des articles.
* @param nombreClients - Nombre de clients.
* @param numeros - Tableau des numéros de clients.
* @brief Modifier la quantité d'un article dans le panier du client.
*
* @param panier - Le panier d'achat du client.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param[out] taillePanier - Un pointeur pour stocker la taille du panier.
* @param cagnottes - Un tableau de cagnottes.
* @param numeroClient - Le numéro du client.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
* @param references - Un tableau de références d'articles.
* @param nombreClients - Le nombre total de clients.
* @param numeros - Un tableau de numéros d'articles.
*/
void modifier_quantite_article_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, float prixUnitaire[], int references[], int nombreClients, int numeros[]);
/**
* @brief Réinitialise le panier du client.
*
* @param panier - Tableau des références des articles dans le panier.
* @param quantites - Tableau des quantités de chaque article dans le panier.
* @param taillePanier - Taille du panier.
* @brief Réinitialiser le panier du client.
*
* @param panier - Le panier d'achat du client.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param[out] taillePanier - Un pointeur pour stocker la taille du panier.
* @param cagnottes - Un tableau de cagnottes.
* @param numeroClient - Le numéro du client.
* @param numeros - Un tableau de numéros d'articles.
* @param nombreClients - Le nombre total de clients.
* @param references - Un tableau de références d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
*/
void reinitialiser_panier(int panier[], int quantites[], int *taillePanier, float cagnottes[], int numeroClient, int numeros[], int nombreClients, int references[], float prixUnitaire[]);
/**
* @brief Déduit un montant de la cagnotte du client.
*
* @param numeroClient - Numéro du client.
* @param montant - Montant à déduire de la cagnotte.
* @param numeros - Tableau des numéros de clients.
* @param cagnottes - Tableau des cagnottes des clients.
* @param nombreClients - Nombre de clients.
* @param suspendus - Tableau des états de suspension des clients.
* @brief Déduire un montant de la cagnotte du client.
*
* @param numeroClient - Le numéro du client.
* @param montant - Le montant à déduire de la cagnotte.
* @param numeros - Un tableau de numéros de clients.
* @param cagnottes - Un tableau de cagnottes.
* @param nombreClients - Le nombre total de clients.
* @param suspendus - Un tableau d'état des clients suspendus.
*/
void deduire_cagnotte(int numeroClient, float montant, int numeros[], float cagnottes[], int nombreClients, int suspendus[]);
/**
* @brief Fonction principale de l'interface client.
*
* Cette fonction permet aux clients d'utiliser l'application pour gérer leur panier
* et effectuer des opérations telles que l'ajout, la suppression ou la modification
* d'articles dans le panier.
* @brief Quitter l'application client.
*
* @param panier - Le panier d'achat du client.
* @param taillePanier - La taille du panier.
* @param references - Un tableau de références d'articles.
* @param poids - Un tableau de poids d'articles.
* @param volume - Un tableau de volumes d'articles.
* @param prixUnitaire - Un tableau de prix unitaires d'articles.
* @param quantites - Un tableau de quantités d'articles dans le panier.
* @param cagnottes - Un tableau de cagnottes.
* @param numeroClient - Le numéro du client.
* @param numeros - Un tableau de numéros d'articles.
* @param nombreClients - Le nombre total de clients.
* @param budget - Le budget du client.
* @param suspendus - Un tableau d'état des clients suspendus.
*/
void global_client();
void quitter_application(int panier[], int taillePanier, int references[], float poids[], float volume[],
float prixUnitaire[], int quantites[], float cagnottes[], int numeroClient,
int numeros[], int nombreClients, float budget, int suspendus[]);
/**
* @brief Quitte l'application.
*
* Cette fonction permet de quitter l'application en affichant un récapitulatif du panier et en proposant de déduire un montant de la cagnotte.
*
* @param panier
* @param taillePanier
* @param references
* @param poids
* @param volume
* @param prixUnitaire
* @param quantites
* @param cagnottes
* @param numeroClient
* @param numeros
* @param nombreClients
* @param budget
* @param suspendus
* @brief Exécute l'ensemble des fonctions de l'interface client.
*/
void quitter_application(int panier[], int taillePanier, int references[], float poids[], float volume[],
float prixUnitaire[], int quantites[], float cagnottes[], int numeroClient,
int numeros[], int nombreClients, float budget, int suspendus[]);
void global_client();
#endif // INTERFACE_CLIENT_H

@ -4,10 +4,8 @@
*/
#include <stdio.h>
#include <stdlib.h>
#include "app/interface/interface_client.h"
#include "app/interface/interface_resp.h"
#include "app/core_logic/client.h"
#include "app/core_logic/responsable.h"
/**

Loading…
Cancel
Save