Académique Documents
Professionnel Documents
Culture Documents
A) Compteur
1. but : pour compter le nombre de fois que l'on rencontre un objet (le
nombre de personnes traitées, le nombre d'employés dont le salaire
hebdomadaire dépasse 1234.50 $, ...)
if (nbFem > 0)
printf("taille moyenne des femmes : %6.2f mètre\n",
somTailleFem / nbFem);
son numéro dossier, sa taille, son poids, un caractère représentant son sexe.
Solution
#include <stdio.h>
int main()
{
const float BORNE = 1.76;
int nbPers, /* le compteur du nombre de personnes lues */
nbFem, /* le compteur du nombre de femmes */
nbHomG; /* le compteur du nombre d'hommes dont la taille
dépasse 1.76 mètre */
int numero;
float taille, poids;
char sexe;
Chapitre 5 : Quelques statistiques de base IFT 1969 / A07 Page 2
FILE *aLire; /* déclaration du fichier à lire */
/* Initialisations : */
/* du fichier à lire : */
aLire = fopen("mesures.dta", "r"); /* "r" pour "reading"
(lecture) */
while (!feof(aLire)){
/* lecture des données : */
fscanf(aLire,"%d%f%f%c%c%c\n", &numero, &taille, &poids,
&sexe, &sexe, &sexe);
/* ajustement des compteurs : */
nbPers++; /* pas de condition */
if (sexe == 'F')
nbFem++;
else /*le cas d'un homme car il n'y a pas d'erreurs
dans les données */
if (taille > BORNE)
nbHomG++;
}
Exécution
1. but : pour calculer un total (une somme), par exemple le total de la taille des
femmes, la somme des poids des enfants traités,
...
fscanf(aLire, "%c%f%d\n", &sexe, &taille, &age);
if (toupper(sexe) == 'M')
sommeTailleHom += taille;
1. but : pour calculer la moyenne qui est la somme divisée par le nombre :
2. traitement
if (nbFem > 0)
printf("taille moyenne des femmes: %6.2f mètre\n",
somTailleFem / nbFem);
else
printf("Aucune femme traitée");
Exemple 2
Solution
#include <stdio.h>
#include <ctype.h>
void main()
{
int nbPers, /* le compteur du nombre de personnes lues */
nbFem; /* le compteur du nombre de femmes */
int numero;
float taille, poids;
char sexe;
/* du fichier à lire : */
aLire = fopen("mesures.dta", "r"); /* "r" pour "reading"
(lecture) */
if (sexe == 'F'){
nbFem++;
totPoidsFem += poids;
}
}
Exécution
Chapitre 5 : Quelques statistiques de base IFT 1969 / A07 Page 6
Le nombre de personnes traitees : 16
Le nombre de femmes traitees : 10
La taille moyenne : 1.64 metre
1. déclaration : de type int (âge le plus petit) ou float (poids le plus léger).
Solution
#include <stdio.h>
void main()
{
int numero;
float taille, poids;
char sexe;
/* Initialisations : */
/* du fichier à lire : */
aLire = fopen("mesures.dta", "r"); /* "r" pour "reading" (lecture) */
Exécution
Exercice de révision
Il aimerait aussi avoir un fichier qui ne contient que des informations sur les
personnes de sexe féminin, avec la taille en mètre et le poids en kg.