Escolar Documentos
Profissional Documentos
Cultura Documentos
programmation :
Gestion de stock.
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Projet :
Bases de la programmation.
Kevin MICHEL
2
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Projet :................................................................................................................. 2
Table des matières.................................................................................................3
Analyse générale :...............................................................................................4
Description du programme :............................................................................4
Le programme devra être capable de : ..........................................................5
......................................................................................................................5
Analyse détaillée.................................................................................................7
Liste des différentes fonctions utilisées...........................................................7
Contenu des différents fichiers :....................................................................13
Maquette d’écran...........................................................................................14
Jeux de tests :................................................................................................27
Annexes :....................................................................................................... 28
Kevin MICHEL
3
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Analyse générale :
Description du programme :
Produit :
Dénomination ;
Type ;
Stock ;
Prix d’achat ;
Prix de vente ;
Nombre de fois vendu ;
Nombre vendu.
Vendeur :
Nom ;
Prénom ;
Numéro de compte.
Vente :
Numéro de vente ;
Vendeur ;
Produit vendu ;
Nombre vendu.
Autre :
id vendeur.
Kevin MICHEL
4
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
5
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
6
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Analyse détaillée.
int menu(void) :
affiche le menu principal ;
reçoit le choix de l’utilisateur ;
retourne le choix de l’utilisateur .
Kevin MICHEL
7
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
scanf("%d",&choix);
V }
on initialise le compteur de vente via le tableau de structure ;
cptvente=tabcpt[0].cpt;
crée un enregistrement dans le tableau vente (id produit,id vente, id
vendeur,nombre vendu) ;
diminue le stock ;
augmente le nombre vendu et le nombre de fois vendu ;
sort le coût de la vente ;
test si on répète l’opération ou non ;
while ((encore1 < 0) || ( encore1 >1))
{
printf("\n encore ? oui (1) non (0) ");
scanf("%d",&encore1);
fflush(stdin);
}
augmente le compteur des ventes ;
cptvente++;
quand la boucle est terminée on renvoit la valeur et on l’envoit dans le
tableau pour le garder en memoire.
tabcpt[0].cpt=cptvente;
par ID :
affichage simple comme précédement ;
par unité en stock après un tri :
sproduit tabtemp[100],tabtri[100];;
for (i=0 ; tabprod[i].id_produit != 0 ; i++)
{
}
nbelem=i-1;
i--;
while ( i!=-1)
{
tabtri[i]=tabprod[i];
i--;
}
i=nbelem;
for(i=0;i<=nbelem;i++)
{ min=i;
for(j=i+1;j<=nbelem;j++)
{
if(tabtri[j].stock<tabtri[min].stock)
Kevin MICHEL
8
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
min=j;
}
tabtemp[i] = tabtri[i];
tabtri[i]=tabtri[min];
tabtri[min]=tabtemp[i];
}
for(i=0;i<=nbelem;i++)
{printf("\n ID %d %s %d
U\n",tabtri[i].id_produit,tabtri[i].denomination,tabtri[i].stock); }
void modificationstock(sproduit) :
selon l’id entré, le programme va modifier le stock de la valeur entrée ;
appelle la fonction listestock() pour réafficher le stock.
void stat(sproduit,svente,svendeur) :
switch sur le choix de l’utilisateur qui appelle différentes fonction :
produitvendu() ;
ventevendeur() ;
recette().
Kevin MICHEL
9
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
void ventevendeur(svendeur,svente,sproduit) :
passe le tableau des vendeurs en revue , compte les éléments et affiche
celui-ci.
reçoit le choix de l’utilisateur et affiche les numéros des ventes , les
produits vendus , le nombre de produit à chaque vente.
while(tabvente[i].id_vente !=0)
{
if( tabvente[i].id_vendeur+1==recherche)
{
printf("\n id vente :%d",tabvente[i].id_vente);
printf(" vendu : %d %s
",tabvente[tabvente[i].id_vente].nbrvendu,&tabprod[(tabvente[i].id_produit)-
1].denomination );
printf(" par %s %s
\n",&tabvendeur[tabvente[i].id_vendeur].nom,&tabvendeur[tabvente[i].id_vende
ur].prenom);
}
i++;
}
void recette(svente,sproduit) :
passe tout les produits en revue, multiplie le « nombre de produit vendu »
par (« le prix de vente » moin « le prix d’achat »).
int i=0,nbvendu;
float recette=0,benef;
while(tabprod[i].id_produit !=0)
{ benef=(tabprod[i].prix_vente-tabprod[i].prix_achat);
recette=recette+(tabprod[i].totvendu*(benef));
i++;
V
}
printf("\n%.2f euro de recette",recette);
int menuproduit(void) :
retourne le choix de l’utilisateur sur les produits.
Kevin MICHEL
10
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
void ajoutproduit(sproduit) :
void ajoutvendeur(svendeur) :
selon les entrées au clavier le programme vérifie que l’ensemble nom et
prénom n’existe pas dans le tableau des vendeurs s’il n’existe pas il copie
les données ;
Kevin MICHEL
11
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
if (existeprenom!=1)
{ if (existenom!=1)
{
}
Else{}}
Else{if(existenom !=1)
{}
Else{}
}
void fichier(sproduit,svendeur,svente) :
affiche le contenu des fichiers ou ce que contiendra les fichiers après
fermeture du programme selon le choix de l’utilisateur.
Kevin MICHEL
12
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
1. Produit.txt :
• Contient les données du tableau de structure produit.
2. Vente.txt :
• Contient les données du tableau de structure vente.
3. vendeur.txt :
• Contient les données du tableau de structure vendeur.
4. compteur.txt :
• Contient les données du tableau de structure compteur.
Kevin MICHEL
13
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Maquette d’écran
2° fenêtre
Kevin MICHEL
14
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
1/utilisation
1bis / utilisation
Kevin MICHEL
15
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
2/ gestion de stock
Kevin MICHEL
16
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
2/1/1 par ID
Kevin MICHEL
17
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
2/2/1 par ID
Kevin MICHEL
18
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
3/ stats
Kevin MICHEL
19
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
20
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
4 fiche produit
Kevin MICHEL
21
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
22
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
23
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Kevin MICHEL
24
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
6 lister fichiers
Kevin MICHEL
25
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
7/fermeture
Kevin MICHEL
26
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Jeux de tests :
Kevin MICHEL
27
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
Annexes :
Code :
//include
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <time.h>
//prototype
int menu(void);
void utilisation (sproduit,svente,svendeur,scpt);
void liste (sproduit,svendeur,svente,scpt);
void gestion (sproduit);
int menugestion (void);
void listestock (sproduit);
void modificationstock(sproduit);
int menustat (sproduit,svente,svendeur);
void stat(sproduit,svente,svendeur);
void produitvendu (sproduit,svente);
void ventevendeur(svendeur,svente,sproduit);
void recette(svente,sproduit);
void produit (sproduit);
int menuproduit(void);
void ajoutproduit(sproduit);
void visualiser (sproduit);
void modifierproduit (sproduit);
void vendeur (svendeur,snom);
int menuvendeur (void);
void ajoutvendeur(svendeur);
void visualiservendeur (svendeur);
void modifiervendeur (svendeur );
void changervendeur (svendeur,snom);
void fichier(sproduit,svendeur,svente);
Kevin MICHEL
28
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
//define
typedef struct
{
int id_produit ;
char denomination[20];
char type[20];
int stock;
double prix_achat;
double prix_vente;
int nbrvendu;
int totvendu;
} sproduit ;
typedef struct
{
int id_vendeur;
char nom[20];
char prenom[20];
int ncompte;
} svendeur;
Kevin MICHEL
29
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
typedef struct
{
int id_vente;
int id_produit;
int id_vendeur;
int nbrvendu;
} svente;
typedef struct
{
int id_vendeur;
} snom;
typedef struct
{
int cpt;
}scpt;
int menu()
{
int choix = 0;
while (choix <1 || choix > 7)
{
choix = 0;
printf("Menu :\n");
printf("1 : Utilisation\n");
printf("2 : Gestion de stock\n");
printf("3 : Stats\n");
printf("4 : Fiche produit\n");
printf("5 : Fiche vendeur\n");
printf("6 : lister les fichiers\n");
printf("7 : Fermeture\n");
printf("Votre choix ? ");
scanf("%d", &choix);
V
clear
}
return choix;
Kevin MICHEL
30
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
while((choix>nbelem)||(choix<=0))
{printf(" \n Erreur: Mauvaise ID \n veuillez entrer l'id du produit choisi:
");
scanf("%d",&choix);
V
}
for ( i=0;i!=choix;i++)
{
}
choix--;
if(tabprod[choix].stock==0)
{
printf("\nrecommander il n'y en a plus en stock\n");
pause
Kevin MICHEL
31
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
}
else{
printf("\n veuillez entrer le nombre commande: ");
scanf("%d",&nombre);
V
stockok=1;
if ((nombre > tabprod[choix].stock)||(nombre<=-1))
stockok=0;
while(stockok!=1)
{stockok=1;
printf("\nERREUR le stock est inferieur a la quantite demande\n ou
la valeur entree est incorrect\nVeuillez entrer le nombre commande: ");
scanf("%d",&nombre);
if ((nombre >= tabprod[choix].stock)||(nombre<=-1))
stockok=0;
}
tabvente[cptvente].id_vente=cptvente;
printf("\n %d id vente: ",tabvente[cptvente].id_vente); // affiche id_vente
tabvente[cptvente].id_produit=choix+1;
printf("\n%d id produit: ",tabvente[cptvente].id_produit);//id du produit
vendu
tabvente[cptvente].nbrvendu=nombre;
printf("\n%d nbrvendu: ",tabvente[cptvente].nbrvendu);//nbr vendu a
cette vente
V
tabprod[choix].totvendu=tabprod[choix].totvendu+nombre;
tabprod[choix].nbrvendu++;
printf("\n%d nbrfoisvendu",tabprod[choix].nbrvendu);// nbr de fois vendu
V
tabvente[cptvente].id_vendeur=tabencour[0].id_vendeur; //id du vendeur
encore1=2;
while ((encore1 < 0) || ( encore1 >1))
{
printf("\n encore ? oui (1) non (0) ");
scanf("%d",&encore1);
fflush(stdin);
}
Kevin MICHEL
32
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
cptvente++;
}
tabcpt[0].cpt=cptvente;
}
else
{
sproduit tabtemp[100],tabtri[100];;
Kevin MICHEL
33
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
i--;
while ( i!=-1)
{
tabtri[i]=tabprod[i];
i--;
}
i=nbelem;
for(i=0;i<=nbelem;i++)
{
min=i;
for(j=i+1;j<=nbelem;j++)
{
if(tabtri[j].stock<tabtri[min].stock)
min=j;
}
tabtemp[i] = tabtri[i];
tabtri[i]=tabtri[min];
tabtri[min]=tabtemp[i];
for(i=0;i<=nbelem;i++)
{
printf("\n ID %d %s %d
U\n",tabtri[i].id_produit,tabtri[i].denomination,tabtri[i].stock);
system("\n pause");
}
}
Kevin MICHEL
34
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
printf("modification\n");
listestock(tabprod);
modificationstock(tabprod);
printf("\nencore quelques modifications? (1 pour oui 0 pour
non )");
scanf("%f",&encore);
V
}
break;
case 3:
Kevin MICHEL
35
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
break;
clear
}
}
int menugestion(void)
{ int choix1=0;
while (choix1 <1 || choix1 > 3)
{ clear
printf("Menu :\n");
printf("1 : Afficher le stock\n");
printf("2 : Modification\n");
printf("3 : Retour\n");
printf("votre selection:\n");
scanf("%d",&choix1);
V
}
return choix1;
}
V
while((id>nbelem)||(id<=0))
{ printf(" \nErreur: Mauvaise ID \n veuillez entrer l'id du produit choisi:
");
scanf("%d",&id);
V
}
id--;
printf("\n il y a eu %d vente de ce produit ",tabprod[id].nbrvendu);
Kevin MICHEL
36
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
nbelem=i;
i=nbelem-1;
for (i=0 ; i+1<=nbelem ; i++)
{printf("%3.d %s %s
\n",tabvendeur[i].id_vendeur,tabvendeur[i].nom,tabvendeur[i].prenom);
V
}
while(correct!=0)
{ correct=0;
printf("\nveuillez entrer l'ID du vendeur a consulter:");
scanf("%d",&recherche);
V
if((recherche<=0)|| (recherche>nbelem))
{
printf("\nmauvaise ID");
V
correct=1;
}
}
i=1;
while(tabvente[i].id_vente !=0)
{
if( tabvente[i].id_vendeur+1==recherche)
{
printf("\n id vente :%d",tabvente[i].id_vente);
Kevin MICHEL
37
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
printf(" vendu : %d %s
",tabvente[tabvente[i].id_vente].nbrvendu,&tabprod[(tabvente[i].id_produit)-
1].denomination );
printf(" par %s %s
\n",&tabvendeur[tabvente[i].id_vendeur].nom,&tabvendeur[tabvente[i].id_vende
ur].prenom);
}
i++;
}
pause
}
while(tabprod[i].id_produit !=0)
{ benef=(tabprod[i].prix_vente-tabprod[i].prix_achat);
recette=recette+(tabprod[i].totvendu*(benef));
i++;
V
}
printf("\n%.2f euro de recette",recette);
pause
}
case 3:
recette(tabvente,tabprod);
break;
Kevin MICHEL
38
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
}
}
}
return choix2;
printf("aujout de produit\n");
Kevin MICHEL
39
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
while ((existeprod!=1)&&(i>=0))
{
if (strcmp(tabprod[i].denomination,denomination)==0)
{existeprod=1;
}
i--;
}
V
i=nbelem-1;
if (existeprod!=1)
{printf("\n le prog copie les données");
strcpy( tabprod[i].denomination,denomination);
strcpy( tabprod[i].type,type);
tabprod[i].id_produit=i+1;
tabprod[i].stock=stock;
tabprod[i].prix_achat=prix_achat;
tabprod[i].prix_vente=prix_vente;
tabprod[i].totvendu=totvendu;
printf("\nle le produit %d %s vient d'etre
ajoute",tabprod[i].id_produit,&tabprod[i].denomination);
V
pause
}
else
{
printf("\n le produit existe deja");
V
pause
}
Kevin MICHEL
40
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
pause
id--;
int choix3=0;
while (choix3 <1 || choix3 > 6)
{ clear
printf("Menu :\n");
printf("1 : denomination\n");
printf("2 : type\n");
printf("3 : stock\n");
printf("4 : prix d'achat\n");
printf("5 : prix de vente\n");
printf("6 : annule\n");
printf("votre selection:\n");
scanf("%d",&choix3);
Kevin MICHEL
41
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
V
}
switch (choix3)
{
case 1:
printf("veuillez entrer la nouvelle denomination: ");
gets(denomination);
strcpy(tabprod[id].denomination,denomination);
break;
case 2:
printf("veuillez entrer le nouveau type: ");
gets(type);
strcpy(tabprod[id].type,type);
break;
case 3 :printf("veuillez entrer le nouveau stock: ");
scanf("%f",&stock);
tabprod[id].stock=stock;
break;
case 4:
printf("veuillez entrer le nouveau prix d'achat: ");
scanf("%f",&prix_achat);
tabprod[id].prix_achat=prix_achat;
break;
case 5: printf("veuillez entrer le nouveau prix de vente: ");
scanf("%f",&prix_vente);
tabprod[id].prix_vente=prix_vente;
break;
case 6:
break;
}
pause
}
Kevin MICHEL
42
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
pause
}
switch (choix3)
{
case 1:
ajoutproduit(tabprod);
break;
case 2:
visualiser(tabprod);
break;
case 3:
modifierproduit(tabprod);
break;
case 4:
break;
}
}
int menuproduit(void)
{ int choix3=0;
while (choix3 <1 || choix3 > 4)
{ clear
printf("Menu :\n");
printf("1 : ajouter produit\n");
printf("2 : visualiser\n");
printf("3 : modifier\n");
printf("4 : retour\n");
printf("votre selection:\n");
scanf("%d",&choix3);
Kevin MICHEL
43
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
V
}
return choix3;
}
printf("aujout de vendeur\n");
char nom[20],prenom[20];
int ncompte=000000;
int i=0,j=0,nbelem,test1=0,test2=0;
int existenom=0,existeprenom=0;
V
printf("\nveuillez entrer un nom de vendeur: ");
gets(nom);
V
printf("\nveuillez entrer un prenom: ");
gets(prenom);
V
printf("\nveuillez entrer un n° de compte: ");
scanf("%d",&ncompte);
V
for (i=0 ; tabvendeur[i].id_vendeur != 0 ; i++) // passe le tableau en revue
pour compter le nombre d'element
{
}
nbelem=i+1;
while ((existenom!=1)&&(i>=0))
{
if (strcmp(tabvendeur[i].nom,nom)==0)
{existenom=1;
j=nbelem;
while ((existeprenom!=1)&&(j>=0))
{
if (strcmp(tabvendeur[j].prenom,prenom)==0)
{existeprenom=1;
j--;
}
else
{
Kevin MICHEL
44
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
j--;
}
i--;
}
else
{i--;
}
}
V
i=nbelem-1;
if (existeprenom!=1)
{ if (existenom!=1)
{printf("\n le prog copie les donnees");
strcpy( tabvendeur[i].nom,nom);
V
strcpy( tabvendeur[i].prenom,prenom);
V
tabvendeur[i].ncompte=ncompte;
tabvendeur[i].id_vendeur=i+1;
printf("\nle vendeur n° %d %s %s vient d'etre
ajoute",tabvendeur[i].id_vendeur,&tabvendeur[i].prenom,&tabvendeur[i].nom);
V
pause
}
else{
printf("\n le prog copie les donnees");
strcpy( tabvendeur[i].nom,nom);
strcpy( tabvendeur[i].prenom,prenom);
tabvendeur[i].ncompte=ncompte;
tabvendeur[i].id_vendeur=i+1;
printf("\nle vendeur n° %d %s %s vient d'etre
ajoute",tabvendeur[i].id_vendeur,&tabvendeur[i].prenom,&tabvendeur[i].nom);
V
pause
}
}
else
{if(existenom!=1)
{printf("\n le prog copie les donnees");
strcpy( tabvendeur[i].nom,nom);
strcpy( tabvendeur[i].prenom,prenom);
Kevin MICHEL
45
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
tabvendeur[i].ncompte=ncompte;
tabvendeur[i].id_vendeur=i+1;
printf("\nle vendeur n° %d %s %s vient d'etre
ajoute",tabvendeur[i].id_vendeur,&tabvendeur[i].prenom,&tabvendeur[i].nom);
V
pause
}
else{printf("\n le vendeur existe deja");
pause
}
}
int i,nbelem;
printf("visualiser vendeur\n");
V
for (i=0 ; tabvendeur[i].id_vendeur != 0 ; i++) // passe le tableau en revue
pour compter le nombre d'element
{V
}
nbelem=i;
i=nbelem-1;
Kevin MICHEL
46
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
printf("changer vendeur\n");
int i=0,j,nbelem;
for (i=0 ; tabvendeur[i].id_vendeur != 0 ; i++) // passe le tableau en revue
pour compter le nombre d'element
{
}
nbelem=i+1;
printf("modification venduer\n");
for (i=0 ; tabvendeur[i].id_vendeur != 0 ; i++) // passe le tableau en revue
pour compter le nombre d'element
{
}
nbelem=i+1;
Kevin MICHEL
47
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
{printf("%3.d %s %s
\n",tabvendeur[i].id_vendeur,tabvendeur[i].nom,tabvendeur[i].prenom);
}
printf(" \nqu'elle vendeur voulez vous modifier?veuillez entrer l'ID:");
scanf("%d",&id);
V
while((id>=nbelem)||(id<=0))
{ printf(" \n Erreur: Mauvaise ID \n veuillez entrer l'id du produit
choisi: ");
scanf("%d",&id);
V
}
id--;
int choix3=0;
while (choix3 <1 || choix3 > 4)
{ clear
printf("Menu :\n");
printf("1 : nom\n");
printf("2 : prenom\n");
printf("3 : numero de compte\n");
printf("4 : annule\n");
printf("votre selection:\n");
scanf("%d",&choix3);
V
}
switch (choix3)
{
case 1:
printf("veuillez entrer le nom modifie: ");
gets(nom);
strcpy(tabvendeur[id].nom,nom);
break;
case 2:
printf("veuillez entrer le prenom modifie: ");
gets(prenom);
strcpy(tabvendeur[id].prenom,prenom);
break;
case 3 :printf("veuillez entrer le numero de compte modifie: ");
scanf("%d",&ncompte);
tabvendeur[id].ncompte=ncompte;
break;
case 4:
break;
}
Kevin MICHEL
48
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
pause
}
switch (choix4)
{
case 1:
ajoutvendeur(tabvendeur);
break;
case 2:
visualiservendeur(tabvendeur);
break;
case 3:
changervendeur(tabvendeur,tabencour);
break;
case 4: modifiervendeur(tabvendeur);
break;
}
}
int menuvendeur(void)
{ int choix4=0;
while (choix4 <1 || choix4 > 5)
{ clear
printf("Menu :\n");
printf("1 : ajouter vendeur\n");
printf("2 : visualiser vendeur\n");
printf("3 : changer vendeur\n");
printf("4 : modifier vendeur\n");
printf("5: Retour\n");
printf("votre selection:\n");
scanf("%d",&choix4);
V
}
return choix4;
Kevin MICHEL
49
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
switch (choix)
{
case 1:
clear
printf("fichier produit\n");
for (i=0 ; tabprod[i].id_produit != 0 ; i++)
{
}
nbelem=i;
for (i=0 ; i+1<=nbelem ; i++)
{ printf("%3.d %s %s %5.d u %2.2f E %2.2f E
\n",tabprod[i].id_produit,tabprod[i].denomination,tabprod[i].type,tabprod[i].stock,
tabprod[i].prix_achat,tabprod[i].prix_vente);
}
pause
break;
case 2:
printf("fichier vendeur\n");
for (i=0 ; tabvendeur[i].id_vendeur != 0 ; i++) // passe le
tableau en revue pour compter le nombre d'element
{V
}
nbelem=i;
i=nbelem-1;
for (i=0 ; i+1<=nbelem ; i++)
Kevin MICHEL
50
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
{printf("%3.d %s %s %d
\n",tabvendeur[i].id_vendeur,tabvendeur[i].nom,tabvendeur[i].prenom,tabvendeu
r[i].ncompte);
V
}
pause
break;
case 3:
printf("fichier vente\n");
i=1;
printf("%d",tabvente[i].id_vente);
while(tabvente[i].id_vente !=0)
{
printf("\n id vente :%d id produit :%d id vendeur: %d
nombre de produit vendu:
%d\n",tabvente[i].id_vente,tabvente[i].id_produit,tabvente[i].id_vendeur+1,tabve
nte[i].nbrvendu);
i++;
}
pause
break;
case 4:
printf("\n ce fichier ne contient que l'id du vendeur en cour
dans le but de le garder en memoire pour la prochaine utilisation du
programme\n");
pause
break;
case 5:
break;
}
}
sproduit tabprod[200];
svendeur tabvendeur[20];
svente tabvente[200];
snom tabencour[1];
Kevin MICHEL
51
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
scpt tabcpt[1];
fread(tabprod,100*sizeof (sproduit),1,fichierprod);
fclose(fichierprod);
FILE* fichiervente = NULL;
fichiervente = fopen("vente.txt", "r+b");
if (fichiervente != NULL)
{
}
else{
printf("Impossible d'ouvrir le fichier test.txt");
}
fread(tabvente,100*sizeof (svente),1,fichiervente);
fclose(fichiervente);
FILE* fichiervendeur = NULL;
fichiervendeur = fopen("vendeur.txt", "r+b");
if (fichiervendeur != NULL)
{
}
else
{
printf("Impossible d'ouvrir le fichier test.txt");
}
fread(tabvendeur,100*sizeof (svendeur),1,fichiervendeur);
fclose(fichiervendeur);
FILE* fichiercpt = NULL;
fichiercpt = fopen("compteur.txt", "r+b");
if (fichiercpt != NULL)
{ printf("\nfichier produit charge\n");
}
else
Kevin MICHEL
52
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
{
printf("Impossible d'ouvrir le fichier test.txt");
}
fread(tabcpt,1*sizeof (scpt),1,fichiercpt);
fclose(fichiercpt);
V
int encour=0;
if (tabcpt[0].cpt==0)
tabcpt[0].cpt=1;
tabencour[0].id_vendeur=encour;
printf("\n\n\n\n\nBonjour!! bienvenu dans ce programme\n\n\n\nVous etes
logge en tant qu: %s %s
",&tabvendeur[tabencour[0].id_vendeur].nom,&tabvendeur[tabencour[0].id_vend
eur].prenom);
if ( tabvendeur[0].id_vendeur==0)
printf("Invite.\n\n\n\n\n");
time_t timestamp;
struct tm * t;
timestamp = time(NULL);
t = localtime(×tamp);
pause
int choix=0;
while (choix != 7)
{ clear
choix=menu();
switch (choix)
{
case 1:
utilisation(tabprod,tabvente,tabencour,tabvendeur,tabcpt);
break;
case 2:
gestion(tabprod);
Kevin MICHEL
53
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
break;
case 3:
stat(tabprod,tabvente,tabvendeur);
break;
case 4:
produit(tabprod);
break;
case 5:
vendeur(tabvendeur,tabencour);
break;
case 6:
fichier(tabprod,tabvendeur,tabvente);
break;
case 7:
break;
}
//reecriture
fopen("produit.txt", "w+b");
if (fichiervente != NULL)
{
}
else{printf("Impossible d'ouvrir le fichier test2.txt");
}
fwrite(tabprod,100*sizeof (sproduit),1,fichierprod);
fclose(fichierprod);
fopen("vente.txt", "w+b");
if (fichiervente != NULL)
{
}
else{
printf("Impossible d'ouvrir le fichier test2.txt");
}
fwrite(tabvente,100*sizeof (svente),1,fichiervente);
fclose(fichiervente);
Kevin MICHEL
54
Ecole Industrielle et Commerciale de la Ville de Namur rue Pépin 2B 5000
NAMUR
fopen("vendeur.txt", "w+b");
if (fichiervendeur != NULL)
{
}
else{
printf("Impossible d'ouvrir le fichier test3.txt");
}
fwrite(tabvendeur,100*sizeof (svendeur),1,fichiervendeur);
fclose(fichiervendeur);
fopen("compteur.txt", "w+b");
if (fichiercpt != NULL)
{
}
else
{
printf("Impossible d'ouvrir le fichier test4.txt");
}
fwrite(tabcpt,1*sizeof (scpt),1,fichiercpt);
fclose(fichiercpt);
clear
printf("Merci d'avoir utilise ce programme\n\n\n\n\n\n\n\n\n\n\n\n");
printf("Conception Michel Kevin");
Kevin MICHEL
55