Bonjour, je rencontre un problème lors de la compilation de mon programme. En effet, lors de la compilation des fichiers dans le terminal, le message :
"In file included from main.c:5:0: graphe.txt:1:1: error: expected identifier or ‘(’ before numeric constant 3" revient à chaque fois. Je ne vois pas d'où vient le problème. Merci pour votre aide.

Code du fichier graphe.txt :

3
1 0
2 0
1 1
1 2
2 1
0 2


Code du fichier graphe.h :
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
#ifndef GRAPHE__H__
#define GRAPHE__H__
 
typedef struct 
{
int **mat_adjacence;
int nb_sommet;
 
}Graphe;
 
 
void lireFichier(FILE *fichier,char* nom_fichier, Graphe *g);
 
 
 
#endif
Code du fichier graphe.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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "graphe.h"
 
 
 
 
void lireFichier(FILE *fichier,char* nom_fichier, Graphe *g)
{
 
int a,b;
 
fichier = fopen(nom_fichier,"r");
 
if(fichier == NULL)
{
printf("Erreur: Impossible d'ouvrir le fichier %s\n",nom_fichier);
exit(EXIT_FAILURE);
}
 
// on récupère le nombre de sommets
 
fscanf(fichier,"%d\n",&g->nb_sommet);
printf("nombre de sommet: %d\n",g->nb_sommet);
 
g->mat_adjacence = (int **)malloc(g->nb_sommet*sizeof(int));
 
if(g->mat_adjacence == NULL)
{
printf("Erreur: Espace Mémoire insuffisant");
exit(EXIT_FAILURE);
}
 
 
while( !feof(fichier))
{
a = 0;
b =0;
 
fscanf(fichier,"%d %d\n",&a,&b);
 
g->mat_adjacence[a][b] = 1;
}
 
 
 
}
Code du fichier main.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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "graphe.c"
#include "graphe.txt"
 
 
 
int main()
{
 
int choix;
 
 
 
Graphe *g;
g = (Graphe*)malloc(sizeof(Graphe));
if(g == NULL)
{
printf("Erreur: Espace mémoire insuffisant\n");
exit(EXIT_FAILURE);
}
 
FILE* fichier = fopen("graphe.txt","r");
if(fichier == NULL)
{
printf("Erreur: Impossible d'ouvrir le fichier %s\n",graphe.txt);
exit(EXIT_FAILURE);
}
 
 
printf("\t\tMenu\n\n");
printf("1- Lecture du fichier\n\n");
printf("2- Afficher la matrice d'adjacence\n\n");
printf("3- Afficher le nombre de chemins de longueur 2\n\n");
printf("4- Transformer la matrice d'adjacence du graphe G en une liste de successeurs\n\n");
printf("5- Pour chaque sommet du graphe G, afficher ses successeurs en utilisant la structure de liste des successeurs.\n\n");
printf("6- Construire  un graphe à partir des éléments saisis au clavier tout en le stockant dans un fichier.\n\n");
printf("7- Parcours en profondeur du graphe G\n\n");
printf("0- Quitter\n\n\n");
 
printf("Opération choisie: ");
choix = getchar();
getchar();
 
switch(choix)
{
case '1' :
lireFichier(fichier ,"graphe.txt",g);
break;
 
 
 
case '0' :
exit(EXIT_FAILURE);
break;
 
default:
printf("Choix erroné\n");
}
 
 
 
fclose(fichier);
 
return 0;
}
Code du fichier Makefile:
Code Makefile : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CC=gcc
CFLAGS=-I.
DEPS = graphe.h
OBJ = graphe.o main.o 
 
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
 
graphe: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
 
.PHONY: clean
 
clean:
rm -f *.o graphe