From 6d022fc179cc44f78434e1cec534f4ca8e6a1475 Mon Sep 17 00:00:00 2001 From: Ange BARDET Date: Tue, 17 Oct 2023 11:41:43 +0200 Subject: [PATCH] ajout des trucs que j'ai fait aka : AjoutArticle TableArticle AffichTable & modifTable --- ange.c | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++ ange.h | 6 +++ testange.c | 22 +++++++++ 3 files changed, 168 insertions(+) create mode 100644 ange.c create mode 100644 ange.h create mode 100644 testange.c diff --git a/ange.c b/ange.c new file mode 100644 index 0000000..b38d678 --- /dev/null +++ b/ange.c @@ -0,0 +1,140 @@ +#include "sae.h" +#include + + +void AjoutArticle(void) +{ + int ref; + float poid,volume,prix; + FILE *flot; + flot = fopen("articles.txt","a"); + if (flot == NULL) + { + printf("Problème avec la création du fichier\n"); + exit(1); + } + printf("Saisir la référence de l'article (-1 pour arrêter): "); + scanf("%d",&ref); + while (ref < -1) + { + printf("Erreur ; Le numéro doit être positif (ou -1 pour arrêter); retapez : "); + scanf("%d",&ref); + } + while (ref >= 0) + { + printf("Saisir le poid(kg): "); + scanf("%f",&poid); + while (poid < 0) + { + printf("Erreur ; Le poid doit être positif ; retapez : "); + scanf("%f",&poid); + } + + printf("Saisir le volume: "); + scanf("%f",&volume); + while (volume < 0) + { + printf("Erreur ; Le volume doit être positif ; retapez : "); + scanf("%f",&volume); + } + + printf("Saisir le prix: "); + scanf("%f",&prix); + while (prix < 0) + { + printf("Erreur ; Le prix doit être positif ; retapez : "); + scanf("%f",&prix); + } + + fprintf(flot,"%d\t%.3f\t%.2f\t%.2f\n",ref,poid,volume,prix); + printf("Saisir la référence de l'article (-1 pour arrêter): "); + scanf("%d",&ref); + while (ref < -1) + { + printf("Erreur ; Le numéro doit être positif (ou -1 pour arrêter); retapez : "); + scanf("%d",&ref); + } + } + fclose(flot); + printf("Fin de l'ajout.\n"); +} + +int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]) +{ + int ref,i=0; + float poid,volume,prix; + + FILE *flot; + flot = fopen("articles.txt","r"); + if (flot == NULL) + { + printf("Problème avec la lecture du fichier\n"); + exit(1); + } + + fscanf(flot,"%d %f %f %f",&ref,&poid,&volume,&prix); + while(feof(flot) == 0) + { + Tref[i] = ref; + Tpoid[i] = poid; + Tvolume[i] = volume; + Tprix[i] = prix; + i++; + fscanf(flot,"%d %f %f %f",&ref,&poid,&volume,&prix); + } + fclose(flot); + return i; +} + +void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) +{ + int i; + printf("référence\tpoids(kg)\tvolume(l)\tprix Unitaire\n"); + for (i=0;i < n;i++) + { + printf("%d\t\t%.2f\t\t%.3f\t\t%.2f\n",Tref[i],Tpoid[i],Tvolume[i],Tprix[i]); + } + +} + +void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n) +{ + int refR; + printf("Saisir la référence de l'article a modifier: "); + scanf("%d",&refR); + while (refR < -1) + { + printf("Erreur ; Le numéro doit être positif; retapez : "); + scanf("%d",&refR); + } + int i; + for (i=0;i < n;i++) + { + if (Tref[i] == refR) + { + printf("Saisir le nouveau poid(kg): "); + scanf("%f",&Tpoid[i]); + while (Tpoid[i] < 0) + { + printf("Erreur ; Le poid doit être positif ; retapez : "); + scanf("%f",&Tpoid[i]); + } + + printf("Saisir le nouveau volume: "); + scanf("%f",&Tvolume[i]); + while (Tvolume[i] < 0) + { + printf("Erreur ; Le volume doit être positif ; retapez : "); + scanf("%f",&Tvolume[i]); + } + + printf("Saisir le nouveau prix: "); + scanf("%f",&Tvolume[i]); + while (Tvolume[i] < 0) + { + printf("Erreur ; Le prix doit être positif ; retapez : "); + scanf("%f",&Tvolume[i]); + } + } + } +} \ No newline at end of file diff --git a/ange.h b/ange.h new file mode 100644 index 0000000..a9eb245 --- /dev/null +++ b/ange.h @@ -0,0 +1,6 @@ +#include + +void AjoutArticle(void); +void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); +int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]); +void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); \ No newline at end of file diff --git a/testange.c b/testange.c new file mode 100644 index 0000000..fd71e2f --- /dev/null +++ b/testange.c @@ -0,0 +1,22 @@ +#include "sae.h" + +void testF(void) +{ + int n=0; + int Tref[100]={0}; + float Tpoid[100]={0},Tvolume[100]={0},Tprix[100]={0}; + n = TableArticle(Tref,Tpoid,Tvolume,Tprix); + AffichTable(Tref,Tpoid,Tvolume,Tprix,n); + printf("\n"); + ModifArticle(Tref,Tpoid,Tvolume,Tprix,n); + printf("\n"); + AffichTable(Tref,Tpoid,Tvolume,Tprix,n); +} +int main(void) +{ + testF(); + //AjoutArticle(); + //TableArticle(); + //ModifArticle(); + return 0; //cette instruction sert a dire au sys que prog termine +}