Vous êtes sur la page 1sur 2

TD 9 : LES FICHIERS TEXTES ET BINAIRES

EXERCICE N°1 :
Ecrire un programme qui détermine dans un fichier texte dont le nom est entré au clavier :
• Le nombre de caractères qu’il contient.
• Le nombre de mots.
• Le nombre de lignes.
Travail demandé :
1. Ecrire la fonction compte_car ( ) qui compte et retourne le nombre de caractères dans un
fichier passé en paramètre (les retours à la ligne ne devront pas être comptabilisés dans les
caractères).
2. Ecrire la fonction compte_mot( ) qui compte et retourne le nombre de mots dans un fichier
passé en paramètre.(on admettra que deux mots sont séparés par un ou plusieurs
séparateurs)
3. Ecrire la fonction compte_lignes( ) qui compte et retourne le nombre de ligne dans un
fichier .
4. Ecrire la fonction main ( ) qui permet d’ouvrir un fichier et appelle les fonctions
compte_car, compte_lignes et compte_mot.
EXERCICE N°2 :
On donne les déclarations suivantes :
#include<stdio.h>
FILE *fe,*fc ;
char nfe[]=”notes.dat”,nfc[]= ”coef.dat”;
On demande d’écrire les fonctions suivantes :
1. int saisie_enreg_coef() qui :
a. Lit à partir du clavier le nombre <nm> de matières.
b. Lit à partir du clavier et enregistre dans le fichier « coef.dat » les coefficients de ces
<nm> matières.
c. Retourne le nombre de matières.
Chapitre : Les Fichiers en C

2. void saisie_enreg_etudiant(int nm) qui lit a partir du clavier les notes d’un étudiant dans
<nm> matières (on peut les mémoriser dans un tableau <t>).puis les enregistre dans le
fichier « notes.dat ».le nombre d’étudiants étant quelconque. On utilisera une boucle qui
s’arrête lorsque l’utilisateur saisit un caractère différent de « o » comme réponse au message
« voulez-vous ajouter un nouvel étudiant (taper o pour oui ou un autre caractère pour
quitter : ) ».
3. main() qui appelle les deux fonctions précédentes (on utilisera <NM> comme paramètre
réel).
1
1ère Ing Génie Info Mme TEMIMI.O
EXERCICE N°4:
On se propose d’écrire un programme permettant de recopier le contenu d’un fichier source dans un
fichier destination, tout en remplaçant les mots figurants éventuellement dans un fichier dictionnaire par
leurs synonymes.
Exemple :

Fichier source Fichier destination dictionnaire des synonymes


Ce document a été écrit Ce texte a été édité ....
pendant les vacances durant les vacances document:texte
écrit:édité
….
pendant:durant

Travail demandé :
1) Ecrire la fonction int synonyme(FILE *ptrf, char *mot,char *ch) cette fonction cherche mot
dans le fichier dictionnaire pointé par ptrf, si le mot existe elle stocke son synonyme dans la chaine
ch et renvoie 1 sinon elle renvoie 0.
NB :Chaque ligne du dictionnaire contient un mot suivi par deux points’ :’ puis le synonyme
2) La fonction chaine_synonyme() qui prend en paramètre le pointeur sur le fichier dictionnaire, et
deux chaine de caractères S et CH et permet de remplacer les mots de la chaine S par leur
synonymes, s’ils existent dans le fichier dictionnaire, sinon garder le même mot, et stocker la chaine
traduite dans la chaine CH

NB : les mots dans la chaine peuvent être séparés par un ou plusieurs espaces.
EXERCICE N°3:
Les mesures faites par une station de météo pour une année donnée sont stockées dans un fichier
binaire. On représente une mesure pour un jour donné par la structure suivante :
typedef struct { int jour, mois, année ;
float pluie, vent, temperature ;}meteo ;
Le fichier contient pour chaque jour, la quantité de pluie, le vent moyen et la température moyenne
mesurées durant cette journée, par exemple pour le 18/12/2013, il est tombé 28.66m3 de pluie, le
vent a soufflé, en moyenne, à 16.68km/h et la température moyenne était de 18.64°C.
Travail demandé :
1 Ecrire une fonction qui affiche la dernière mesure inscrite dans ce fichier binaire.
2 Ecrire une fonction permettant de charger, dans un tableau de structures, le contenu du
fichier. Cette fonction retourne un entier positif si le chargement des mesures s’est bien
Chapitre : Les Fichiers en C

passé. Un nombre négatif sinon.


NB : le nom du fichier sera un paramètre de cette fonction.
3 Ecrire une fonction nommée cumul_pluie( ) qui retourne la quantité de pluie cumulée sur
un mois et une année donnés. Cette fonction admet en paramètre un tableau de structures et
le numéro du mois.
4 Ecrire une fonction dont le nom est tri_temperature( ) et qui permet de trier les éléments
du tableau de structures, obtenu dans la question 2, dans un ordre croissant selon la
température moyenne.
2
1ère Ing Génie Info Mme TEMIMI.O

Vous aimerez peut-être aussi