Bonsoir!

Pouvez-vous m'aider dans ce code je ne sais pas pourquoi ça ne marche pas :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
typedef struct Materiel
{
    char numdeserie[25];
    char type[25];
    char marque[25];
    float prix;
    struct Materiel *suiv;
} materiel;
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
materiel* charger_Materiel(materiel* ma)
{
 
    materiel *p;
 
    FILE* fichier;
 
    fichier = fopen("gestmat.bin","r");
    p=Malloc(materiel);
 
    if (fichier == NULL)
    {
        printf("Erreur d'ouverture du fichier");
        exit(0);
    }
    else
    {
 
        do
        {
            fscanf(fichier, "%s\t ",p->numdeserie);
            fscanf(fichier, "%s\t ",p->marque);
            fscanf(fichier, "%s\t ",p->type);
            fscanf(fichier, "%2.f\t ",&p->prix);
 
            ma=Ajouter_Materiel(ma,p->numdeserie,p->type,p->marque,p->prix);
 
 
        }
        while(fgetc(fichier) != EOF);
 
 
    }
 
    fclose(fichier);
    return ma;
La fonction Ajouter_materiel marche très bien elle permet d'ajouter dans une liste chaînée de manière croissante mais le programme quand je l’exécute cesse de fonctionner !!