ok voila la totalité de mon code, mais comme je suis en trein de faire plein de changement dans mon code il y aurai des chose pas correct bein evidement mais j'aimerai comprendre pourquoi ca ne vas pas : voila le code mais sans les fonctions. Le code contiendra les appel des fonction, la declaration de la fonction mais pas le code de la fonction. Ici c'est inutile, il n'y en a pas besoin.... Voici le code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
struct produit { //declaration de la structure
long NumProduit;
char NomProduit[30];
char UniteMesure[10];
float Prix;
char TypeProduit[20];
int categorie;
};
struct ind {
char NomProduit[30];
long NumProduit;
long Posi;
};
struct Stockage {
long NumProduit;
long NumDepot;
long QuantiteStockee;
};
int EncodeProduit (struct produit *, long [], int); // Toutes les fonctions utilisées
short RechercheNumProd (int, int, long []);
void InsertionNumProd (int, long[], int);
void AfficheProduit (struct produit[], int, int);
void Indexation (struct produit[], struct ind [], int);
void AfficheIndex (struct produit [], struct ind [], int, int);
void Recherche (struct produit [], struct ind [], int, char[]);
//void InsertionInd (
//void SuppressionInd (
int main ()
{
int nproduit=0; // variables declarées
int i, n, z, rep;
long numprod[100];
char enc2, rech[30];
FILE * fnumero=NULL;
FILE * fstockages=NULL;
struct ind index[100];
struct produit produit[100];
i=0;
do
{
system("cls" );
printf("\t\t\t\tMenu\n\n\n\t\t1. Produits \n\n\t\t2. Stockages \n\n\t\t3. Quitter\n" );
scanf("%d", &rep);
system("cls" );
switch (rep)
{
case 1:
do
{
system("cls" );
printf("\t\t1. Ajout de produits en fin de fichier\n\n\t\t2. Afficher les caractéristiques des produits \n\n\t\t3. Afficher les caractéristiques des produits suivant l'index \n\n\t\t4. Rechercher un produit \n\n\t\t5. Quitter \n" );
scanf ("%d", &n);
fnumero = fopen("A:\\Produits.dat", "w" );
system("cls" );
switch (n)
{
case 1:
while (nproduit<100 && EncodeProduit(&produit[nproduit], numprod, nproduit))
{
nproduit++;
system("cls" );
}
Indexation (produit, index, nproduit);
break;
case 2:
z=-1;
do
{
z++;
AfficheProduit (produit, nproduit, z);
printf("Afficher le suivant ? (o/n) : " );
fflush (stdin);
scanf("%c", &enc2);
system("cls" );
}
while (enc2!='n' && z<nproduit-1);
break;
case 3:
z=-1;
do
{
z++;
AfficheIndex (produit, index, nproduit, z);
printf("Afficher le suivant ? (o/n) : " );
fflush (stdin);
scanf("%c", &enc2);
system("cls" );
}
while(enc2!='n' && z<nproduit-1);
break;
case 4:
printf("Veuillez entrer le nom du produit recherché : " );
fflush (stdin);
gets (rech);
Recherche (produit, index, nproduit, rech);
break;
}
}
while (n!=5);
fclose(fnumero);
break;
case 2:
do
{
system("cls" );
printf("\t\t1. Ajout de stockages\n\n\t\t2. Affichage séquentiel du fichier \n\n\t\t3. Quitter \n" );
scanf ("%d", &n);
fnumero = fopen("A:\\Stockages.dat", "w" );
system("cls" );
switch (n)
{
case 1:
while (nproduit<100 && EncodeProduit(&produit[nproduit], numprod, nproduit))
{
nproduit++;
system("cls" );
}
Indexation (produit, index, nproduit);
break;
case 2:
z=-1;
do
{
z++;
AfficheProduit (produit, nproduit, z);
printf("Afficher le suivant ? (o/n) : " );
fflush (stdin);
scanf("%c", &enc2);
system("cls" );
}
while (enc2!='n' && z<nproduit-1);
break;
}
}
while (n!=3);
fclose(fstockages);
break;
}
}
while (rep!=3);
if (rep==3)
{
printf("\n\t\t\tFin du programme... \n\n\n\tA bientot. " );
}
system("pause" );
}
Merci pour votre aide !