Atelier de Programmation Avancée - Série Les Fichiers Binaires

Page 1 sur 2Lecteur de document UniversityLib

Atelier de Programmation Avancée - Série Les Fichiers Binaires

Computer Science · lab

Voir tous les documents en programmation

École Supérieure de Technologie

et d’Informatique

A.U. 2011/2012

Atelier de programmation avancée

Série les fichiers binaires

1ère année LA ARS

Exercice 1 :

Soit un fichier binaire contenant des informations sur les étudiants. On donne

struct etudiant

{

int ce; // numéro carte d’étudiant

char nom[30];

float notes[5]; // chaque étudiant possède 5 notes

Publicité

DATE date_naiss ;

};

typedef struct etudiant ETUDIANT;

1. Ecrire un programme qui demande à l’utilisateur le nombre d’étudiants n. Ensuite, le

programme remplit et affiche le fichier binaire de n étudiants.

2. Afficher l’étudiant de rang r (r est un entier à saisir compris entre 1 et n). le 1er

étudiant dans le fichier a le rang 1. Le dernier a le rang n.

3. Copier le fichier dans un tableau dynamique d’étudiants. Afficher le tableau.

4. Modifier les informations sur un étudiant de rang r.

Exercice 2 :

Soit un fichier binaire contenant les informations suivantes sur les étudiants :

(cid:1) Cin

(cid:1) Nom

Publicité

(cid:1) Nombre de notes

(cid:1)

Les notes (réels)

Le nombre de notes est variable d’un étudiant à l’autre.

Et un fichier d’index contenant :

(cid:1) Cin

(cid:1) Taille de l’enregistrement (en nombre d’octets) de l’étudiant dans le fichier etudiant

On donne les structures de données suivantes :

struct etudiant

{

int cin;

char nom [20];

int nb; //nombre de notes

Publicité

};

typedef struct etudiant ETUDIANT;

struct index

{

int cin;

long taille;

};

typedef struct index INDEX;

1

Écrire les fonctions suivantes :

void remplir (FILE fe, FILE fi) //fe : fichier étudiant ; fi : fichier index

Remplit les fichiers étudiant et index simultanément.

Principe du remplissage: pour le remplissage du fichier étudiant, Les champs cin, nom,

Publicité

nb seront saisis dans une variable de type ETUDIANT, les notes seront saisies dans un

tableau de réels alloué dynamiquement selon la valeur de nb. Les deux variables seront

ensuite copiées dans le fichier.

void afficher_fichier (FILE *fe)

Affiche le contenu du fichier étudiant (pour chaque étudiant son cin, nom, notes).

void afficher_index(FILE *fi)

Affiche le contenu du fichier index (pour chaque étudiant, son cin, et la taille en octets

de son enregistrement dans le fichier étudiant)

void afficher_etudiant (FILE fe, FILE fi, int p)

Affiche les informations qui concernent l’étudiant qui se trouve à la position p dans le

fichier étudiant (Le premier étudiant dans le fichier étudiant a la position 1).

2