Bonjour,

Dans le fond, j'ai besoin de récuperer des chaines de caractères et des chiffres dans une fichier texte, cependant ce qui arrive, c'est que le code que le professeur nous a donné ne doit pas être changé, mais on peut ajouter des nos lignes de codes

le contexte c'est de récuperer:
les listes de cours d'un université
le matricule des étudiant
les cours à la quelle ils sont inscrit
le nom, le prénom
et la note qui ont eu à chaque de ces cours

voici le code donné par le prof

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
 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
 
 
#define MAX_ETUDIANTS 100 
#define TAILLE_CHAINE  50		
#define TAILLE_CHAINE_F  256	
#define MAX_COURS 5			
#define NB_COURS_OFFERTS 30	
#define OK 1
#define ERREUR 0
//....
void chargementDonnees(FILE* pFich, EnsembleEtudiants* bdEtudiant,
		char nomsCours[NB_COURS_OFFERTS][TAILLE_CHAINE + 1])
{
    int i=0;
    char ligne[TAILLE_CHAINE];
    while (fscanf (pFich, "%s", ligne) != EOF)  /// pFich étant initiallement déjà chargé
    {
        if (strcmp(ligne, "$") != 0)
             {
                 printf("%s\n", ligne);
             }
//..
    }
//..
}
//...
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
typedef struct
{
	char* unCours;	// un pointeur sur un cours (i.e. cha�ne de caract�res) 
	float note;		// la note du cours 
}Cours;				
 
typedef struct
{
        int matricule;				        // matricule d'un étudiant 
	char prenom[TAILLE_CHAINE + 1];	// son prènom 
	char nom[TAILLE_CHAINE + 1];	        // son nom 
	int nbCours;					// nombre de cours suivis 
	Cours  coursSuivis[MAX_COURS];	// nom et note de chaque cours suivi 
}Etudiant;
 
typedef struct
{
	Etudiant tabEtudiants[MAX_ETUDIANTS];	// un tableau d'étudiants 
	int nbEtudiants;	// la cardinalité du tableau tab (i.e. le nombre effectif d'éléments)
}EnsembleEtudiants;
le problème c'est que je voudrais récupérer chaque matricule, chaque nom, prénom, note de cours et autre dans une varibale de strcuct différent, mais le problème c'est le varible lignequi est déjà définit comme un string, alors que le matricule est une chiffre, de plus toute le fichier est pas uniforme chaque élément est pas dans une ligne, le fichier texte est ainsi:
...
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
....
le seul chose qui permet de faire le tansfert vers les info des étudiant c'est le caractère $

merci d'avance de vos réponse

si vous voulez plus de détail demandez-moi là, le programme est comme constitué de beaucoup de ligne de code