Salut!
Manque le prototype de la fonction SAISIE avant la définition de la fonction main. Pas de type devant l'application d'une fonction seulement pendant sa définition et la déclaration du prototype. De plus tu ne mets pas en argument les noms des variables que tu as déclarés précédemment.
Observe la différence.
#include <stdio.h>
#include <string.h>
typedef char CH3[4];
/* prototype de saisir */
char saisir(CH3 cdeprod, int qte);
int main(void)
{
CH3 cdeprod;
int qte;
/*
ici on passe cedprod et qte en argument
on applique la fonction pas besoin de char
*/
saisir(cdeprod, qte);
printf("Entrez un code-produit :\n");
gets(cdeprod);
while(strcmp(cdeprod, "XXX") != 0)
{
/*
même chose ici
*/
saisir(cdeprod, qte);
gets(cdeprod);
}
/*
on retourne la valeur de la macro qui vaut 0
*/
return EXIT_SUCCESS;
}
/* fonction saisir */
char saisir(CH3 cdeprod, int qte)
{
printf("Entrez une quantite");
/*
ne pas oublier l'adresse & pour scanf
*/
scanf("%i", &qte);
return qte;
}
Je pense que ça passera mieux ainsi bien que je n'ai pas essayé de comprendre le code. ;-)


