Bonsoir tout le monde,
le programme consiste à entrer des produits de codes différents dans un fichier alors je dois à chaque fois vérifier que le code n'existe pas et s'il existe j'affiche un message d'erreur ,mais le problème que ma fonction de vérification verif_code() ne fonctionne pas correctement en effet , si je donne le code 1 puis 2 puis 1 le message d'erreur s'affiche et la machine me demande d'entrer un nouveau code alors je mais 2 dans ce cas le message d'erreur ne s'affiche pas une autre fois malgré que le 2 est répété 2 fois ? merci pour ceux qui puissent m'aider
mon code est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <stdlib.h>
FILE *produit;
long int Codep, Codepr;
char Couleur[30];
float prix;
int nbp, i;
void verif_code()
{
    produit = fopen("produit.doc", "r");
    int trouve = 0;
    while ((!(feof(produit))) && (trouve == 0)) {
	printf("donner le code n %d à rechercher : ", i);
	scanf("%ld", &Codepr);
	fscanf(produit, "%ld", Codepr);
	if (Codep != Codepr) {
	    printf("donner la couleur du produit numéro %dn", i);
	    scanf("%s", Couleur);
	    printf("donner le prix du produit numéro %dn", i);
	    scanf("%f", &prix);
	    trouve = 1;
	} else {
	    printf("erreur le code existe déjà  ");
	}
	fclose(produit);
    }
}
 
 
int main(int argc, char *argv[])
{
    printf("donner le nombre de produits ");
    scanf("%d", &nbp);
    produit = fopen("produit.doc", "w");
    printf("donner le code du produit numéro %dn", 1);
    scanf("%ld", &Codep);
    printf("donner la couleur du produit numéro %dn", 1);
    scanf("%s", Couleur);
    printf("donner le prix du produit numéro %dn", 1);
    scanf("%f", &prix);
    fprintf(produit, "Code du produit  :%ld de couleur :%s ayant pour prix : %fn", Codep, Couleur, prix);
    for (i = 2; i <= nbp; i++) {
	verif_code();
	produit = fopen("produit.doc", "a");
	fprintf(produit, "Code du produit :%ld de couleur :%s ayant pour prix : %fn", Codepr, Couleur, prix);
	fclose(produit);
    }
 
    system("PAUSE");
    return 0;
}