ajout de tout les putains de commentaires + des trucs que je doit fix plus tard

master
Ange BARDET 1 year ago
parent e68e6f6314
commit 8a190f3d5f

@ -3,6 +3,34 @@
#include <stdlib.h>
#include <stdio.h>
/**
*\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 <nArticle;i++)
{
pos = posRef(Tref,TrefC[i],n);
if (refR == TrefC[i]) return i;
}
return -1;
}
int SupprArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n)
void ModifArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[],int n)
{
if (nArticle <= 0)
{
printf("Il n'y a aucun article dans le panier.");
return nArticle;
return;
}
int refR,pos;
printf("Saisir la référence de l'article a supprimer: ");
int refR,pos,nQuan;
printf("Saisir la référence de l'article a modifier: ");
scanf("%d",&refR);
pos = posRefC(TrefC,n,refR,nArticle,Tref);
if (pos == -1)
@ -131,21 +126,21 @@ int SupprArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float T
}
else
{
TrefC[pos] = TrefC[pos+1];
TquanC[pos] = TquanC[pos+1];
return nArticle - 1;
printf("Saisir la nouvelle quantité du produit: ");
scanf("%d",&nQuan);
TquanC[pos] = nQuan;
}
}
void ModifArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n)
int SupprArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[],int n)
{
if (nArticle <= 0)
{
printf("Il n'y a aucun article dans le panier.");
return;
return nArticle;
}
int refR,pos,nQuan;
printf("Saisir la référence de l'article a modifier: ");
int refR,pos;
printf("Saisir la référence de l'article a supprimer: ");
scanf("%d",&refR);
pos = posRefC(TrefC,n,refR,nArticle,Tref);
if (pos == -1)
@ -154,9 +149,9 @@ void ModifArticlePanier(int TrefC[],int TquanC[],int nArticle,int Tref[], float
}
else
{
printf("Saisir la nouvelle quantité du produit: ");
scanf("%d",&nQuan);
TquanC[pos] = nQuan;
TrefC[pos] = TrefC[pos+1];
TquanC[pos] = TquanC[pos+1];
return nArticle - 1;
}
}
@ -170,3 +165,14 @@ int ResetPanier(int TrefC[],int TquanC[],int nArticle)
}
return 0;
}
int posRefC(int TrefC[], int n, int refR,int nArticle,int Tref[])
{
int i,pos;
for (i=0;i <nArticle;i++)
{
pos = posRef(Tref,TrefC[i],n);
if (refR == TrefC[i]) return i;
}
return -1;
}

@ -1,9 +1,85 @@
#include <stdio.h>
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);
/**
*\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[]);

@ -2,12 +2,19 @@
#include <stdlib.h>
#include <stdio.h>
/**
*\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,8 +192,34 @@ 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)

@ -1,19 +1,139 @@
#include <stdio.h>
/**
*\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);
/**
*\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);

@ -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)

@ -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
Loading…
Cancel
Save