Toutes les fonctions Articles du boss

master
ange.bardet 2 years ago
parent 6d022fc179
commit 5f3759f0c0

@ -1,6 +1,6 @@
#include "sae.h" #include "ange.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
void AjoutArticle(void) void AjoutArticle(void)
{ {
@ -94,7 +94,6 @@ void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n)
{ {
printf("%d\t\t%.2f\t\t%.3f\t\t%.2f\n",Tref[i],Tpoid[i],Tvolume[i],Tprix[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) void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n)
@ -129,12 +128,68 @@ void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n)
} }
printf("Saisir le nouveau prix: "); printf("Saisir le nouveau prix: ");
scanf("%f",&Tvolume[i]); scanf("%f",&Tprix[i]);
while (Tvolume[i] < 0) while (Tprix[i] < 0)
{ {
printf("Erreur ; Le prix doit être positif ; retapez : "); printf("Erreur ; Le prix doit être positif ; retapez : ");
scanf("%f",&Tvolume[i]); scanf("%f",&Tprix[i]);
} }
} }
} }
}
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;
printf("Saisir la référence de l'article a supprimer: ");
scanf("%d",&refR);
while (refR < -1)
{
printf("Erreur ; Le numéro doit être positif; retapez : ");
scanf("%d",&refR);
}
pos = posRef(Tref,refR,n);
if (pos == -1)
{
printf("L'article n'existe pas dans la base de donnée.");
return n;
}
else
{
int i;
for (i=pos;i<=n;i++)
{
Tref[i] = Tref[i+1];
Tpoid[i] = Tpoid[i+1];
Tvolume[i] = Tvolume[i+1];
Tprix[i] = Tprix[i+1];
}
return n-=1;
}
} }

@ -3,4 +3,7 @@
void AjoutArticle(void); void AjoutArticle(void);
void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); void ModifArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n);
int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]); int TableArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[]);
void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n); void AffichTable(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n);
void EcrireFichier(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n);
int SupprArticle(int Tref[], float Tpoid[],float Tvolume[],float Tprix[],int n);
int posRef(int Tref[],int refR, int n);

@ -1,22 +1,56 @@
#include "sae.h" #include "ange.h"
void testF(void) void testF(void)
{ {
int n=0; int n=0,rep;
int Tref[100]={0}; int Tref[100]={0};
float Tpoid[100]={0},Tvolume[100]={0},Tprix[100]={0}; float Tpoid[100]={0},Tvolume[100]={0},Tprix[100]={0};
printf("Bienvenue Mr. le directeur :)\n");
n = TableArticle(Tref,Tpoid,Tvolume,Tprix); n = TableArticle(Tref,Tpoid,Tvolume,Tprix);
AffichTable(Tref,Tpoid,Tvolume,Tprix,n);
printf("\n"); printf("Que voulez vous faire ? (afficher[0]/ajouter[1]/modifier[2]/supprimer[3]/quitter[-1]) ");
ModifArticle(Tref,Tpoid,Tvolume,Tprix,n); scanf("%d",&rep);
printf("\n"); while (rep != -1)
AffichTable(Tref,Tpoid,Tvolume,Tprix,n); {
while (rep < -1 && rep > 2)
{
printf("Erreur; (afficher[0]/ajouter[1]/modifier[2]/supprimer[3]/quitter[-1]) ");
scanf("%d",&rep);
}
if (rep == 0)
{
AffichTable(Tref,Tpoid,Tvolume,Tprix,n);
printf("\n");
}
if (rep == 1)
{
AjoutArticle();
n = TableArticle(Tref,Tpoid,Tvolume,Tprix);
printf("\n");
}
if (rep == 2)
{
ModifArticle(Tref,Tpoid,Tvolume,Tprix,n);
printf("\n");
}
if (rep == 3)
{
n = SupprArticle(Tref,Tpoid,Tvolume,Tprix,n);
printf("\n");
}
printf("Que faire ? (afficher[0]/ajouter[1]/modifier[2]/supprimer[3]/quitter[-1]) ");
scanf("%d",&rep);
if (rep == -1)
{
EcrireFichier(Tref,Tpoid,Tvolume,Tprix,n);
printf("Au revoir !\n");
}
}
} }
int main(void) int main(void)
{ {
testF(); testF();
//AjoutArticle(); return 0;
//TableArticle();
//ModifArticle();
return 0; //cette instruction sert a dire au sys que prog termine
} }

Loading…
Cancel
Save