Bonjour, je dois extraire toutes les informations d'un fichier data que voici:

introduction_a_la_psychologie_de_l'enfant
sociologie_de_la_civilisation_egyptienne_antique
physique_quantique_I
physique_quantitque_II
chimie_organique
gestion_des_ressources_humaines
gestion_des_affaires
micro-economie
macro-economie
politique_exterieure_des_etats-unis_d'amerique
histoire_de_la_chine
biologie_cellulaire
introduction_a_l'astrophysique
programmation_I
programmation_II
introduction_aux_bases_de_donnees
bases_de_donnees_avancees
calcul_I
calcul_II
algebre_vectoriel_et_matriciel
resistance_des_materiaux
meta-physique
physique_des_solides
physique_des_fluides
informatique_theorique
introduction_a_la_logique_des_predicats
cryptographie
mecanique_classique
marketing_de_masse
histoire_de_la_revolution_francaise
$
302 Ali Muhammad 3
programmation_I 83.0
algebre_vectoriel_et_matriciel 77.0
physique_des_solides 45.0
403983 Roosevelt Theodore 4
politique_exterieure_des_etats-unis_d'amerique 59.0
micro-economie 69.0
biologie_cellulaire 78.0
introduction_a_la_psychologie_de_l'enfant 23.0
344882 DeGaulle Charles 1
histoire_de_la_revolution_francaise 99.0
9822 Bombardier Joseph-Armand 5
resistance_des_materiaux 88.0
marketing_de_masse 84.0
gestion_des_affaires 93.0
chimie_organique 49.0
meta-physique 54.0
43281 TseTung Mao 2
histoire_de_la_chine 98.0
introduction_a_la_logique_des_predicats 78.0
83372 Hogan Hulk 3
sociologie_de_la_civilisation_egyptienne_antique 46.0
introduction_a_la_psychologie_de_l'enfant 32.5
meta-physique 15.0
16723 Taylor Lawrence 1
biologie_cellulaire 76.0
28371 Johnson Magic 5
introduction_aux_bases_de_donnees 62.0
programmation_I 71.0
calcul_II 51.0
resistance_des_materiaux 89.0
chimie_organique 68.0
49228 Nicklaus Jack 3
physique_quantique_I 90.0
gestion_des_affaires 88.0
physique_des_solides 73.0
58192 Claus Santa 4
introduction_aux_bases_de_donnees 100.0
physique_quantique_I 100.0
gestion_des_ressources_humaines 100.0
marketing_de_masse 100.0
57211 Anderson Neo 3
meta-physique 81.0
programmation_II 95.0
cryptographie 100.0
48201 Brown Charlie 0
86661 Skywalker Luke 3
algebre_vectoriel_et_matriciel 59.0
physique_des_fluides 82.0
macro-economie 52.0
62171 Mouse Mickey 2
marketing_de_masse 100.0
histoire_de_la_chine 66.0
72314 Laurier Wilfrid 4
sociologie_de_la_civilisation_egyptienne_antique 73.0
politique_exterieure_des_etats-unis_d'amerique 78.0
macro-economie 89.0
meta-physique 54.0
65172 Pascal Blaise 3
meta-physique 80.0
physique_des_fluides 73.0
calcul_II 94.0
87654 Turing Alan 2
informatique_theorique 100.0
cryptographie 100.0
89675 VonNeuman John 3
introduction_a_la_psychologie_de_l'enfant 55.0
histoire_de_la_chine 87.0
bases_de_donnees_avancees 73.0
26781 Gates Bill 5
introduction_aux_bases_de_donnees 25.0
programmation_I 10.0
calcul_I 15.0
algebre_vectoriel_et_matriciel 29.0
marketing_de_masse 100.0
92102 Hanks Tom 2
politique_exterieure_des_etats-unis_d'amerique 77.0
introduction_a_la_logique_des_predicats 65.0
78213 Papas George 3
chimie_organique 88.0
histoire_de_la_revolution_francaise 79.0
sociologie_de_la_civilisation_egyptienne_antique 61.0
44982 Geffen David 4
sociologie_de_la_civilisation_egyptienne_antique 72.0
micro-economie 73.0
calcul_I 48.0
marketing_de_masse 91.0
34188 Spielberg Steven 1
programmation_I 81.0
87728 Lucas George 4
physique_quantique_I 63.0
histoire_de_la_chine 89.0
algebre_vectoriel_et_matriciel 75.0
meta-physique 80.0
19983 Kennedy John-Fitzgerald 3
politique_exterieure_des_etats-unis_d'amerique 93.0
macro-economie 86.0
introduction_aux_bases_de_donnees 66.0
77681 Boucher Maurice 2
sociologie_de_la_civilisation_egyptienne_antique 89.0
marketing_de_masse 79.0
67210 Lucas Eric 3
gestion_des_ressources_humaines 80.0
gestion_des_affaires 78.0
histoire_de_la_revolution_francaise 71.0
Pour parvenir a mes fins, j'ai utilisé la fonction fscanf, mais j'éprouve beaucoup de difficulté à bien arranger mes pointeurs. Présentement, mon programme ne veut mêmem plus s'excécuter.



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
 
 
#include <stdio.h>
#include <string.h>
 
#define MAX_ETUDIANTS 100 //
#define TAILLE_CHAINE 50 //
#define MAX_COURS 5 //
#define NB_COURS_OFFERTS 50
 
typedef enum {FAUX, VRAI} bool;
 
 
void chargementDonnees(int *matricules[], char *noms[][TAILLE_CHAINE+1], char *prenoms[][TAILLE_CHAINE+1],
					   char *cours[][MAX_COURS], float *notes[][MAX_COURS],int *nbCours[],char *nomsCours[][TAILLE_CHAINE + 1]);
 
int main()
{
	int matricules[MAX_ETUDIANTS];
	//tableau d’entier qui contient le matricule de chaque étudiant inscrit
	char noms[MAX_ETUDIANTS][TAILLE_CHAINE + 1];
	//tableau de chaînes de caractères qui contient le nom de chaque étudiant
	char prenoms[MAX_ETUDIANTS][TAILLE_CHAINE + 1];
	//tableau de chaînes de caractères qui contient le prénom de chaque étudiant
	char* cours[MAX_ETUDIANTS][MAX_COURS];
	//le tableau de pointeurs d’un étudiant, chaque pointeur pointant sur le nom 
	//du cours auquel l’étudiant est inscrit
	float notes[MAX_ETUDIANTS][MAX_COURS];
	//le tableau qui contient la note de chaque cours pour chaque étudiant
	int nbCours[MAX_COURS];
	//le nombre de cours auquel chaque étudiant est inscrit
	char nomsCours[NB_COURS_OFFERTS][TAILLE_CHAINE + 1];
	//le tableau des noms des cours offerts par l’Université
	int i;
 
	chargementDonnees(&matricules, noms, prenoms, cours, &notes, &nbCours, nomsCours);
	//chargementDonnees(nomsCours);
 
	for(i=1;i<20;i++)
	{
		printf("%s\n", nomsCours[i]);
	}
   return 0;
}
 
void chargementDonnees(int *matricules[], char *noms[][TAILLE_CHAINE+1], char *prenoms[][TAILLE_CHAINE + 1],
					   char *cours[][MAX_COURS], float *notes[][MAX_COURS], int *nbCours[], char *nomsCours[][TAILLE_CHAINE + 1])
{
	FILE *stream;
	int test;
	char *text2[80];
	int etudiant = 1; // numero de l'étudiant
	int i; // pour la boucle
	int ccours = 1; //numero du cours
	bool bool_cours = VRAI; //identifie si l'on est dans la section des différents cours  (liste de cours)
 
	stream = fopen("donneesEtudiants.dat", "r");
 
	fscanf(stream, "%s", nomsCours[ccours]);
	while (bool_cours) //tant que le text est différent de $
	{
		fscanf(stream, "%s", nomsCours[ccours]);
 
		if (nomsCours[ccours][0] == '$') bool_cours=FAUX; //si on atteint la ligne avec la valeur $
		ccours++;
	} 
 
	while (fscanf(stream, "%d %s %s %d", &matricules[etudiant], noms[etudiant], text2, &nbCours[etudiant]) != EOF) // tant qu'il y a des étudiants
	{
		printf("test: %d %d %d\n",etudiant, nbCours[etudiant], matricules[etudiant]);
		//printf("%d %s %s %d\n", matricules[etudiant], noms[etudiant], text2, nbCours[etudiant]);
		for(i=1; i<nbCours[etudiant]+1; i++) // on passe chaque cours du même étudiant
		{
			printf("%d %d\n",etudiant, i);
			//printf("%f\n",notes[etudiant][i]);
			fscanf(stream, "%s %f", noms[etudiant], notes[etudiant][i]);
			//fscanf(stream, "%s %f", noms[etudiant], &notes[etudiant][i]);
			//printf("%s %f\n", noms[etudiant], notes[etudiant][i]);
			if (i > 10) break;
		}
		if (etudiant > 1) break;
		etudiant++;
	}
 
	fclose(stream);
	printf("test");
	scanf("%d", &test);
 
}

Si vous êtes en mesure de me dire ce qui va pas je serais très très reconnaissant! Je dois remettre mon travail dans 2 jours et je commence a désespéré haha . Comme dernière note, je dois absolument utilisé des pointeurs.