From 8a190f3d5f7df1a4b0c14178cebc9e819febdee5 Mon Sep 17 00:00:00 2001 From: "ange.bardet" Date: Wed, 8 Nov 2023 15:27:55 +0100 Subject: [PATCH] ajout de tout les putains de commentaires + des trucs que je doit fix plus tard --- FonctionsClient.c | 100 +++++++++++++++------------- FonctionsClient.h | 88 +++++++++++++++++++++++-- FonctionsResponsable.c | 69 +++++++++++-------- FonctionsResponsable.h | 124 ++++++++++++++++++++++++++++++++++- Globale.c | 17 ++++- articles.txt => articles.don | 1 + 6 files changed, 313 insertions(+), 86 deletions(-) rename articles.txt => articles.don (83%) diff --git a/FonctionsClient.c b/FonctionsClient.c index 0d38ba1..71aea9d 100644 --- a/FonctionsClient.c +++ b/FonctionsClient.c @@ -3,6 +3,34 @@ #include #include +/** +*\file FonctionsClient.c +*\brief fichier.c qui contient toutes les fonctions concernant le client. +*\author BARDET Ange & Mathis CHIRAT +*\date 20 oct 2023 +*/ + +float initVoiture(float *chargeV) +{ + float volV; + printf("Quel est le volume (L) du coffre de votre véhicule : "); + scanf("%f",&volV); + while (volV < 0) + { + printf("Erreur ; Le volume doit être positif ; retapez : "); + scanf("%f",&volV); + } + printf("Quel est la charge totale de votre véhicule (Kg) : "); + scanf("%f",chargeV); + while (*chargeV < 0) + { + printf("Erreur ; La charge doit être positive ; retapez : "); + scanf("%f",chargeV); + } + + return volV; +} + int ajoutPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], int n) { int refP,code,quantite,pos; @@ -38,28 +66,6 @@ int ajoutPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], int n) return nArticle +=1; } -float initVoiture(float *chargeV) -{ - float volV; - printf("Quel est le volume (L) du coffre de votre véhicule : "); - scanf("%f",&volV); - while (volV < 0) - { - printf("Erreur ; Le volume doit être positif ; retapez : "); - scanf("%f",&volV); - } - printf("Quel est la charge totale de votre véhicule (Kg) : "); - scanf("%f",chargeV); - while (*chargeV < 0) - { - printf("Erreur ; La charge doit être positive ; retapez : "); - scanf("%f",chargeV); - } - - return volV; -} - - void affichPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],float chargeV, float volV,int n) { printf("\nRéf\tQté\tPoids\tVol\tPrixU\tPoidsTot\tVolTot\tPrixTot\tCagnotte\n"); @@ -103,26 +109,15 @@ void affichPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[ printf("%.0f kg\n",chargeR); } -int posRefC(int TrefC[], int n, int refR,int nArticle,int Tref[]) -{ - int i,pos; - for (i=0;i -int ajoutPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], int n); -void affichPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],float chargeV, float volV,int n); +/** +*\file FonctionsClient.h +*\brief fichier.h qui contient les déclarations des fonctions concernant le client. +*\author BARDET Ange & Mathis CHIRAT +*\date 20 oct 2023 +*/ + + +/** +*\brief Demande a l'utilisateur la charge et le volume de son véhicule et les renvoie. +*\param[in,out] chargeV flottant, la charge totale du véhicule du client (en kg). +*\return flottant, le volume (en L) du coffre du véhicule du client. +*/ float initVoiture(float *chargeV); -int SupprArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); -int posRefC(int TrefC[], int n, int refR,int nArticle,int Tref[]); -void ModifArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); -int ResetPanier(int TrefC[],int TquanC[], int nArticle); \ No newline at end of file + +/** +*\brief Demande un article a l'utilisateur puis l'ajoute au panier. +*\param[in,out] TrefC tableau d'entier, articles dans le panier client. +*\param[out] TquanC tableau d'entier, quantités dans le panier client. +*\param[in,out] nArticle entier, taille logique des tableaux concernant le panier. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return entier, nombre d'article + 1. +*/ +int ajoutPanier(int TrefC[],int TquanC[],int nArticle,int Tref[], int n); + +/** +*\brief Affiche le panier actuel du client. +*\param[in] TrefC tableau d'entier, articles dans le panier client. +*\param[in] TquanC tableau d'entier, quantités dans le panier client. +*\param[in] nArticle entier, taille logique des tableaux concernant le panier. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] Tpoid tableau d'entier, poids des produits. +*\param[in] Tvolume tableau d'entier, volumes des produits. +*\param[in] Tprix tableau d'entier, prix des produits. +*\param[in] chargeV flottant, la charge totale du véhicule du client (en kg). +*\param[in] volV flottant, le volume (en L) du coffre du véhicule du client. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return Rien +*/ +void affichPanier(int TrefC[],int TquanC[],int nArticle,int Tref[],float Tpoid[],float Tvolume[],float Tprix[],float chargeV, float volV,int n); + +/** +*\brief Demande un article au client puis le modifie sa quantité. +*\param[in] TrefC tableau d'entier, articles dans le panier client. +*\param[out] TquanC tableau d'entier, quantités dans le panier client. +*\param[in] nArticle entier, taille logique des tableaux concernant le panier. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return Rien +*/ +void ModifArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[],int n); + +/** +*\brief Demande un article au client puis le supprime du panier. +*\param[in,out] TrefC tableau d'entier, articles dans le panier client. +*\param[out] TquanC tableau d'entier, quantités dans le panier client. +*\param[in] nArticle entier, taille logique des tableaux concernant le panier. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return entier, taille logique des tableaux concernant le panier -1. +*/ +int SupprArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[],int n); + +/** +*\brief Réinitialise le panier du client. +*\param[out] TrefC tableau d'entier, articles dans le panier client. +*\param[out] TquanC tableau d'entier, quantités dans le panier client. +*\param[in] nArticle entier, taille logique des tableaux concernant le panier. +*\return entier, taille logique des tableaux concernant le panier. +*/ +int ResetPanier(int TrefC[],int TquanC[], int nArticle); + +/** +*\brief Recherche la position de nArticle dans le tableau TrefC. +*\param[in] TrefC tableau d'entier, articles dans le panier client. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\param[in] refR entier, réfèrence recherché dans le tableau référence. +*\param[in] nArticle entier, taille logique des tableaux concernant le panier. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\return entier, position de la réfèrence recherché. +*/ +int posRefC(int TrefC[], int n, int refR,int nArticle,int Tref[]); \ No newline at end of file diff --git a/FonctionsResponsable.c b/FonctionsResponsable.c index e775509..bf245b9 100644 --- a/FonctionsResponsable.c +++ b/FonctionsResponsable.c @@ -2,12 +2,19 @@ #include #include +/** +*\file FonctionsResponsable.c +*\brief fichier.c qui contient toutes les fonctions concernant le responsable. +*\author BARDET Ange & Cyriaque SEGERIE +*\date 11 oct 2023 +*/ + void AjoutArticle(void) { int ref; float poid,volume,prix; FILE *flot; - flot = fopen("articles.txt","a"); + flot = fopen("articles.don","a"); if (flot == NULL) { printf("Problème avec la création du fichier\n"); @@ -16,6 +23,10 @@ void AjoutArticle(void) printf("Saisir la référence de l'article (-1 pour arrêter): "); scanf("%d",&ref); /*Si l'article existe déja, code d'erreur*/ + + /*Passer par table au lieu de fichier pour ajoutarticle*/ + + /*demander numéro client et regarder cagnotte*/ while (ref < -1) { printf("Erreur ; Le numéro doit être positif (ou -1 pour arrêter); retapez : "); @@ -66,7 +77,7 @@ int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]) float poid,volume,prix; FILE *flot; - flot = fopen("articles.txt","r"); + flot = fopen("articles.don","r"); if (flot == NULL) { printf("Problème avec la lecture du fichier\n"); @@ -155,32 +166,6 @@ void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) } } -void EcrireFichier(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) -{ - FILE *flot; - flot = fopen("articles.txt","w"); - if (flot == NULL) - { - printf("Problème avec la création du fichier\n"); - exit(1); - } - int i; - for (i=0;i < n;i++) fprintf(flot,"%d\t%.2f\t%.3f\t%.2f\n",Tref[i],Tpoid[i],Tvolume[i],Tprix[i]); - fclose(flot); - printf("Fichier écrit.\n"); -} - -int posRef(int Tref[],int refR, int n) -{ - int i; - for (i=0;i < n;i++) - { - if (Tref[i] == refR) - return i; - } - return -1; -} - int SupprArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) { int refR,pos; @@ -207,10 +192,36 @@ int SupprArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) Tvolume[i] = Tvolume[i+1]; Tprix[i] = Tprix[i+1]; } - return n-=1; + return n-1; } } +int posRef(int Tref[],int refR, int n) +{ + int i; + for (i=0;i < n;i++) + { + if (Tref[i] == refR) + return i; + } + return -1; +} + +void EcrireFichier(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) +{ + FILE *flot; + flot = fopen("articles.don","w"); + if (flot == NULL) + { + printf("Problème avec la création du fichier\n"); + exit(1); + } + int i; + for (i=0;i < n;i++) fprintf(flot,"%d\t%.2f\t%.3f\t%.2f\n",Tref[i],Tpoid[i],Tvolume[i],Tprix[i]); + fclose(flot); + printf("Fichier écrit.\n"); +} + void modifclientglobal (void) { int n,coderreur,choix; diff --git a/FonctionsResponsable.h b/FonctionsResponsable.h index 30c545f..40e201a 100644 --- a/FonctionsResponsable.h +++ b/FonctionsResponsable.h @@ -1,19 +1,139 @@ #include +/** +*\file FonctionsResponsable.h +*\brief fichier.h qui contient les déclarations des fonctions concernant le responsable. +*\author BARDET Ange & Cyriaque SEGERIE +*\date 11 oct 2023 +*/ + +/** +*\brief Demande l'article a ajouter ainsi que son poid, son volume et son prix a l'utilisateur et l'ajoute au fichier "articles.don". +*\param void Rien +*\return Rien +*/ void AjoutArticle(void); + +/** +*\brief Demande un article au responsable puis modifie son poid, son volume et son prix dans les tables. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in,out] Tpoid tableau d'entier, poids des produits. +*\param[in,out] Tvolume tableau d'entier, volumes des produits. +*\param[in,out] Tprix tableau d'entier, prix des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return Rien +*/ void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); + +/** +*\brief Récupère le contenu du fichier "articles.don" et l'ajoute au tables concernées (Tref,Tpoid,Tvolume,Tprix) +*\param[out] Tref tableau d'entier, réfèrences des produits. +*\param[out] Tpoid tableau d'entier, poids des produits. +*\param[out] Tvolume tableau d'entier, volumes des produits. +*\param[out] Tprix tableau d'entier, prix des produits. +*\return entier, taille logique des tableaux concernant les produits. +*/ int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]); + +/** +*\brief Affiche la référence, le poid, le volume et le prix de chaque produit. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] Tpoid tableau d'entier, poids des produits. +*\param[in] Tvolume tableau d'entier, volumes des produits. +*\param[in] Tprix tableau d'entier, prix des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return Rien +*/ void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); + +/** +*\brief Demande un article au client puis affiche sa référence, son poid, son volume et son prix. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] Tpoid tableau d'entier, poids des produits. +*\param[in] Tvolume tableau d'entier, volumes des produits. +*\param[in] Tprix tableau d'entier, prix des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return Rien +*/ void AffichArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); -void EcrireFichier(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); + +/** +*\brief Demande un article au client puis le supprime des tables. +*\param[in,out] Tref tableau d'entier, réfèrences des produits. +*\param[out] Tpoid tableau d'entier, poids des produits. +*\param[out] Tvolume tableau d'entier, volumes des produits. +*\param[out] Tprix tableau d'entier, prix des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return entier, taille logique des tableaux concernant les produits - 1. +*/ int SupprArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); + +/** +*\brief Recherche la position de refR dans le tableau Tref. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] refR entier, réfèrence recherché dans le tableau référence. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return entier, position de la réfèrence recherché. +*/ int posRef(int Tref[],int refR, int n); +/** +*\brief Ecrit dans le fichier "articles.don" le contenu des tables. +*\param[in] Tref tableau d'entier, réfèrences des produits. +*\param[in] Tpoid tableau d'entier, poids des produits. +*\param[in] Tvolume tableau d'entier, volumes des produits. +*\param[in] Tprix tableau d'entier, prix des produits. +*\param[in] n entier, taille logique des tableaux concernant les produits. +*\return rien. +*/ +void EcrireFichier(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); + + +/** +*\brief Permet d'accéder à toutes les autres fonctions de cette partie. +*/ void modifclientglobal (void); + +/** +*\brief Permet d'ajouter un client au fichier. +*\return Code d'erreur != 0 si un probléme se passe. +*/ int ajoutClient (void); + +/** +*\brief Permet de suspendre la carte d'un client ou de la désuspendre (Et de créer un utilisateur si la carte se fais suspendre). +*\return Code d'erreur != 0 si un probléme se passe. +*\param[in] n Taille logique des tableaux. +*/ int suspensioncarte (int *n); + +/** +*\brief Permet de compter le nombre de ligne d'un fichier et donc la taille logique des tableaux. +*\return Taille logique des tableaux. +*/ int compteurtaillelogique (void); + +/** +*\brief Permet de supprimer la carte d'un client. +*\return Code d'erreur != 0 si un probléme se passe. +*\param[in] n Taille logique des tableaux. +*/ int supressionclient (int *n); + +/** +*\brief Permet d'afficher les informations d'un client précis. +*\return Code d'erreur != 0 si un probléme se passe. +*/ int affichagesolo (void); + +/** +*\brief Permet d'afficher tout le fichire client. +*\return Code d'erreur != 0 si un probléme se passe. +*/ int affichageall (void); -int creationfichier(void); + +/** +*\brief Permet de vérifier la présence du fichier donnés , le crée si inexistant. +*\return Code d'erreur != 0 si un probléme se passe. +*/ +int creationfichier(void); \ No newline at end of file diff --git a/Globale.c b/Globale.c index 84e8590..27b3419 100644 --- a/Globale.c +++ b/Globale.c @@ -1,6 +1,19 @@ #include "FonctionsClient.h" #include "FonctionsResponsable.h" +/** +*\file Globale.c +*\brief le fichier.c qui gère l'affichage global de l'application. +*\author BARDET Ange +*\date 11 oct 2023 +*/ + + +/** +*\brief Permet a l'utilisateur de sélectionner la partie responsable ou client de l'application. +*\param void Rien +*\return Rien +*/ void global(void) { int n=0,rep; @@ -104,12 +117,12 @@ void global(void) } if (rep == 1) { - ModifArticlePanier(TrefC,TquanC,nArticle,Tref,Tpoid,Tvolume,Tprix,n); + ModifArticlePanier(TrefC,TquanC,nArticle,Tref,n); printf("\n"); } if (rep == 2) { - nArticle = SupprArticlePanier(TrefC,TquanC,nArticle,Tref,Tpoid,Tvolume,Tprix,n); + nArticle = SupprArticlePanier(TrefC,TquanC,nArticle,Tref,n); printf("\n"); } if (rep == 3) diff --git a/articles.txt b/articles.don similarity index 83% rename from articles.txt rename to articles.don index f4640b1..36d134e 100644 --- a/articles.txt +++ b/articles.don @@ -3,3 +3,4 @@ 272 6.50 10.000 29.99 66 33.00 11.000 22.00 345 30.00 29.000 10.00 +564 38.000 20.00 17.90 \ No newline at end of file