Voila a vrai dire j'arrive pas a compiler et apparement j'ai un probleme avec ma structure quand je l'utilise dans mon prog principale

Pouvez m'expliquer comment resoudre ce probleme

C'est la premiere fois que j'utilise les structures et je suis debutant dans le C

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// declaration des librairies

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


// Définie les pointeurs de fichier
FILE *fichier_demandeur;
FILE *fichier_historique;

// definie les numeros des entres de commande

# define NUM_FICHIER_DEMANDEUR 1
# define NUM_FICHIER_HISTORIQUE 2



typedef struct
{
        char prenom [50];
        char nom [50];
        char date_de_naissance [50];
        char adresse [50];
        char ville [50];
        char chomeur;

} demandeur;

int main( int argc, char *argv[])

{


        // declaration des variables

        int erreur_commande=0;
        char choix;
        char ligne [50];
        char *tmp;

        // Debut des verification

        // Verification du bon nombre de mot en entree

        if ( argc < NUM_FICHIER_HISTORIQUE )
        {
                erreur_commande++;
        }

        if ( argc > NUM_FICHIER_HISTORIQUE +1 )
        {
                erreur_commande++;
        }

        // Ouverture des fichiers ssi pas d'erreur de commande

        if ( !erreur_commande )

        {

                // Ouverture du fichier demandeur

                fichier_demandeur = fopen ( argv[NUM_FICHIER_DEMANDEUR], "r");

                if( fichier_demandeur == NULL )
                {
                        erreur_commande++;
                }


                else
                {

                        // stockage des données dans la structure

                        while (fgets(ligne,sizeof ligne, fichier_demandeur))
// c'est la premiere fois que j'utilise une structure donc je ne sais pas si c'est la bonne facon de faire [/COLOR]


                        // copie de lidentifiant du fichier source dans demandeur.idenfiant
                        tmp = strtok(ligne,';');
                        strcpy(demandeur.identifiant,tmp);

                        //copie du nom dans demandeur.nom
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.nom,tmp);

                        //copie du prenom dans demandeur.prenom
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.prenom,tmp);

                        //copie de la date de naissance dans demandeur.date_de_naissance
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.date_de_naissance,tmp);

                        //copie de l'addresse dans demandeur.adresse
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.adresse,tmp);

                        //copie de la ville dans demandeur.ville
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.ville,tmp);


                        //copie de du statut dans demandeur.chomeur
                        tmp = strtok(NULL,';');
                        strcpy(demandeur.chomeur,tmp);

                        //Ouverture du fichier historique
                        fichier_historique = fopen ( argv[NUM_FICHIER_HISTORIQUE], "r");


                        if( fichier_historique == NULL );
                        {
                                erreur_commande++;
                        }

                        else
                        {
                                printf("VIEW   : v ou V --> Consulter les informations\n");
                                printf("UPDATE : u ou U --> Mettre ` jour les informations d'un demandeur\n");
                                printf("DELETE : d ou D --> Supprimer un demandeur\n");
                                printf("ADD    : a ou A --> Ajouter un demandeur\n");
                                printf("SHOW   : s ou S --> Montrer la reprisentation de l'arbre binaire\n");

                                printf("Commande:");
                                choix=getchar();

                                choix=tolower(choix);

                                switch(choix)
                                {
                                        case 'v' :
                                        case 'V' :
                                                        printf("cool-1\n");
                                                        break;
                                        case 'u' :
                                        case 'U' :
                                                        printf("cool-2\n");
                                                        break;
                                        case 'd' :
                                        case 'D' :
                                                        printf("cool-3\n");
                                                        break;
                                        case 'a' :
                                        case 'A' :
                                                        printf("cool-4\n");
                                                        break;
                                        case 's' :
                                        case 'S' :
                                                        printf("cool-5\n");
                                                        break;
                                        default :
                                                        printf("ERREUR Commande invalide\n");
                                                        break;
                                }
                        }
                }

        }

}