You are on page 1of 18

Chapitre 5 : Structures et tableaux des structures

A) Le type structure :
1) Domaines d'utilisation :
Le type structure se trouve dans les structures de donnes
suivantes :
- tableau de structures
- liste linaire chane, arbre binaire
- fichier non texte
- classe (programmation oriente objet)
- etc
2) Introduction :
Le type structure (struct) en ! est semblable au type
enregistrement (record) dans le langage "#$!#L (cours %&' (()*)
!+est une collection des champs ,ui peuvent -tre de types
diffrents
.xemple :
/ne personne est une structure avec les champs possibles suivants :
- nom et prnom : chane de caract0res
- taille et poids : rels
- 1ge : entier
- sexe : caract0re
- etc
2r1ce 3 ce type, on peut rduire le nombre de tableaux 3 traiter
dans un programme :
"our la gestion des notes du cours %&' ((4* :
( #vec les tableaux 3 un seul indice, on a besoin des tableaux
suivants :
nom"re : tableau des chanes de caract0res
numero : tableau des entiers (numros d+inscription)
intra, final, tp(, tp5, tp6, tps, globale : 7 tableaux des
rels
code : tableau des chanes de caract0res (8#98, 8!-8,)
#u total, on a (* tableaux 3 dclarer, 3 crire sur les
Chapitre 5 : Structure et tableaux des structures Page 99
en-t-tes des fonctions et des appels :e plus, ,uand on
fait l+change dans le tri, il faut utiliser 6 affectations
par tableau #vec ces (* tableaux, ces changes ncessitent
(* x 6 ; 6* affectations !+est long 3 crire
5 #vec les tableaux 3 deux indices, on peut rduire sensiblement
le nombre de tableaux 3 traiter :
nom"re : tableau des chanes de caract0res
numero : tableau des entiers (numros d+inscription)
note : un seul tableau 3 5 indices
code : tableau des chanes de caract0res (8#98, 8!-8,)
#u total, on a ) tableaux 3 dclarer, 3 manipuler sur les
en-t-tes des fonctions et des appels "our le tri, on a
besoin de (5 () x 6) affectations afin d+changer les
informations
6 #vec le type structure, il est possible d+utiliser un seul
tableau : tableau des tudiants, cha,ue lment de ce tableau
est une variable de type structure <n a ainsi un seul tableau
3 dclarer et 3 manipuler
"lus tard dans le cours, on utilisera le type 8struct8 dans les
listes linaires chanes, les arbres binaires, les fichiers
non textes,
3) Dclaration et terminologie :
$upposons ,u+on dsire dclarer deux variables pers( et pers5
de type structure et ,ue cha,ue personne dispose de ,uatre
informations :
- numro : un entier
- taille et poids : deux rels
- sexe : un caract0re
a) &a=on ( : dclaration directe sans le nom du type structure
struct
{
int numero ;
float taille, poids ;
char sexe ;
} pers1, pers2 ;
Le dsavantage de cette mani0re de faire est ,u+il n+est pas
flexible pour la dclaration de nouvelles variables de m-me type
structure ,ue nous aimerions utiliser ailleurs dans un m-me
programme
Chapitre 5 : Structure et tableaux des structures Page 100
Schma d'une structure :
>?????????????@???????@????????@?????@
pers( A (65B A (7B A 47C A +D+ A
E?????????????F???????F????????F?????F
>?????????????@???????@????????@?????@
pers5 A 4B)G A (47 A B76 A +&+ A
E?????????????F???????F????????F?????F
b) &a=on 5: dclaration avec le nom du type structure
b() on dclare d+abord le type :
struct personne
H
int numero I
float taille, poids I
char sexe I
J I
b5) on dclare apr0s les variables :
struct personne pers1, pers2 ;
$i on veut dclarer d+autres informations de ce type,
il suffit de se rfrer au type 8struct personne8 :
.xemples :
() void #fficher ( struct personne une"ers )
KL afficher les informations d+ 8une"ers8 ,ui est
de type struct personne LK
5) struct personne tempo I KL une autre variable de
m-me type LK
etc
c) &a=on 6: dclarer en m-me temps le type et les variables:
struct personne
{
int numero I
float taille, poids I
char sexe I
} pers1, pers2 ;
Chapitre 5 : Structure et tableaux des structures Page 101
d) &a=on ): dclarer en utilisant 8typedef8 :
typedef struct {
int numero I
float taille, poids I
char sexe I
} Personne ; /* personne est le nom du type */
Personne pers1, pers2 ;
Memar,ues :
( "our le cours %&' ((4*, on vous sugg0re fortement d+utiliser
la ) i0me fa=on
5 #vec la dclaration selon la ) i0me fa=on :
a) "ersonne est le nom du type structure ,ui
dispose de ) champs d+information
b) numero est le nom d+un champ de type entier
taille et poids sont deux champs de type rels
sexe est un champ de type caract0re
c) pers( et pers5 sont deux variables de type structure dont
le nom est "ersonne
6 Le !99 permet de simplifier les dclarations :
struct "ersonne
H int numero I
float taille, poids I
char sexe I
JI
"ersonne pers(, pers5 I
.xemple :
Ncrire les dclarations d+une variable 8un.tud8 de type 8.tudiant8
pour la gestion de ses notes
Chapitre 5 : Structure et tableaux des structures Page 102
$olution :
Odefine L<P2QP" 6* KL 6* caract0res pour le nom et le prnom LK
Odefine PRQP<'.$ 7 KL 7 notes LK
Odefine L<P2Q!<:. 5 KL 5 caract0res pour le code littral 8R98 LK
typedef struct
H char nom"re SL<P2QP" 9(T I
int num%ns I
float noteSPRQP<'.$T I
char codeSL<P2Q!<:.9(T I
J
.tudiant I
.tudiant un.tud I
.xercice :
Ncrire les dclarations d+une variable 8un.mp8 de type 8.mploye8
,ui comporte les champs d+informations suivantes :
- nom et prnom
- numro d+employ
- numro d+assurance sociale
- 1ge
- salaire hebdomadaire
- poste de travail (parmi les postes : analyste, programmeur,
oprateur, secrtaire)
4) Manipulation du type structure :
4.1) Accs un champ d'une structure :
!omme en langage "#$!#L, le ! utilise aussi le point 88 pour
accder 3 un champ d+une variable de type structure :
variable_de_type_structure champ
.xemples :
( Ncrire les instructions pour donner 3 la 8pers(8 les
informations suivantes :
!+est un homme ,ui mesure (47 m0tre et p0se 47G Ugs
$on numro d+identification est le 756)
pers(numero ; 756) I
pers(sexe ; +D+ I
pers(taille ; (47 I
pers(poids ; 47G I
Chapitre 5 : Structure et tableaux des structures Page 103
5 Ncrire les instructions pour afficher les informations
de 8pers(8 3 l+cran :
printf(8$on numro : V4dWn8, pers(numero)I
printf(8$on sexe : V4cWn8, pers(sexe)I
printf(8$on poids : V45f UgsWn8, pers(poids)I
printf(8$a taille : V45f mWn8, pers(taille)I
Cas spcial : Pointeur vers le type structure :
#vec la dclaration : "ersonne L " I
" est un pointeur vers le type "ersonne
L" est une variable de type "ersonne
<n peut accder 3 n+importe ,uel champ de L" :
(L")taille, (L")poids, etc
Le ! permet de simplifier l+criture en utilisant l+oprateur -X
!*P"champ #$$$$$$% P&%champ
4.!) A""ectati#n entre deux $ariables de type structure :
#vec "ersonne pers(, pers5 I on peut affecter l+une 3 l+autre :
pers( ; pers5 I KL pers( contiendra toutes les informations
de pers5 LK
.xemple :
Ncrire une fonction permettant d+changer les informations de
deux personnes (de type "ersonne) :
$olution :
void echanger ( "ersonne L "(, "ersonne L "5)
H
"ersonne 'emporaire I
temporaire ; L"( I
L"( ; L"5 I
L"5 ; temporaire I
J
Chapitre 5 : Structure et tableaux des structures Page 104
4.%) C#mparais#n entre deux $ariables de type structure :
La comparaison directe de deux informations de type structure
if ( pers( ;; pers5 ) printf(8!+est pareil8) I
n+est pas permise
!ependant, le ! permet de comparer octet par octet (comparaison
en mmoire) :
Oinclude YmemhX KL pour memcmp : memory comparison LK

if ( memcmp(Zpers(, Zpers5, si[eof("ersonne)) ;; *)
printf(8.lles sont identi,uesWn8)I
else
printf(8.lles sont diffrentesWn8)I
.xemple :
Ncrire une fonction permettant d+afficher l+heure courante sous la
forme, exemple : (G:5B:(7:7G
$olution :
Oinclude YdoshX KL pour la fonction gettime() dans
la fonction afficher\eure LK

void afficher\eure ()
H
KL struct time est un type 8structure8 prdfinie dans
le fichier d+en-t-te YdoshX
struct time H
unsigned char tiQmin I
unsigned char tiQhourI
unsigned char tiQhundI
unsigned char tiQsec I
J
o] unsigned char : entier de * 3 5BB
tiQmin : minute, tiQhour : heure, tiQhund : pourcent seconde,
tiQsec : seconde
LK
struct time 'emps I
gettime(Z'emps)I
printf(8V5d:V5d:V5d:V5dWn8, 'empstiQhour, 'empstiQmin,
'empstiQsec, 'empstiQhund)I
J
Chapitre 5 : Structure et tableaux des structures Page 105
Exercices :
.xercice ( :
Ncrire un programme permettant de :
- saisir les informations d+une personne (type "ersonne) en
utilisant une fonction dont l+argument est transmis par
pointeur : void saisir ( "ersonne L " )
- appeler la fonction 8saisir8 5 fois pour obtenir les
informations de deux personnes diffrentes I
- afficher les informations de ces deux personnes avec
une fonction du genre :
void afficher ( "ersonne une"ers )
- changer (permuter) les informations de ces deux personnes
en utilisant une fonction I
- rafficher de nouveau les informations de ces deux
personnes apr0s l+change
Potes :
La lecture suivante est parfaitement valide :
void saisir ( "ersonne L " )
H
printf(8.ntre[ la taille 8)I
scanf(8Vf8, Z("-Xtaille))I

J
Le compilateur '/MR< ! ragit souvent mal 3 la lecture d+un
rel avec l+oprateur -X $i c+est le cas, il suffit de
contourner le probl0me comme suit :
float t I

printf(8.ntre[ la taille 8)I
scanf(8Vf8, Zt) I
"-Xtaille ; t I KL c+est la m-me chose LK

.xercice 5 :
Ncrire un programme en mode interactif permettant de grer les
notes d+un seul tudiant (type structure) du cours %&' ((4*
Les champs prvus sont :
nom"re : une chane de 6* caract0res
num%ns : un entier
note : un tableau de 7 notes
code : le code littral 8#-8, 8R98,
Chapitre 5 : Structure et tableaux des structures Page 106
&) 'ableau de structures :
1) Domaines d'utilisation :
$upposons ,u+on a besoin de manipuler les informations 8structures8
(des personnes, des tudiants, des employs, etc ) dont les
traitements prvus sont :
- le tri, la recherche d+un lment
- l+affichage
- les statisti,ues
- la cration de nouveaux fichiers
$i le nombre de donnes est raisonnable (exemple : B** 3 4** personnes
3 traiter, )** tudiants 3 calculer les notes , etc ), on peut
utiliser un tableau des structures
2) Dclaration :
Ncrire les dclarations d+un tableau de personnes !ha,ue lment
du tableau est de type structure nomm 8personne8 ,ui comporte les
champs suivants :
sexe : ( seul caract0re
taille et poids : 5 rels
<n a (** personnes ou moins 3 traiter
$olution :
Odefine D#^Q".M$ (**
typedef struct
H char sexe I
float taille, poids I
J
"ersonne I
"ersonne persSD#^Q".M$T I
int nb"ers I KL le nombre effectif de personnesLK
3) Scma d'un ta!leau des structures :
>???????@????????@?????@
persS*T A +D+ A (B4 A 4BGA
>???????@????????@?????@
persS(T A +&+ A (7* A B4)A
>???????@????????@?????@
persS5T A +D+ A (B4 A 4BGA

Chapitre 5 : Structure et tableaux des structures Page 107
4) "omprension de !ase :
#vec ces dclarations :
() pers est un tableau des personnes I
5) persS*T, persS(T, , persSCCT sont (** lments du
tableau pers !hacun est une variable de type structure
nomm 8"ersonne8 I
6) persS(BTsexe est le sexe de la (4 i0me personne I
)) La dclaration : "ersonne L " I
rend valide l+affectation suivante :
" ; pers I
!ette affectation est ,uivalente 3 : " ; ZpersS*T I
:e plus, L(" 9 i) est ,uivalent 3 persSiT
#insi :
L(" 9 i) taille est persSiTtaille
:onc, (" 9 i) -X taille est persSiTtaille
#) Exemples sur les ta!leaux des structures :
(xemple 1 :
<n dispose du fichier texte 8Detri,ue:ta8 :
M<_ !\#P'#L & (46 B)GG
D<L#%$<P !L#/:. D (B7 B45B
R.:#M: D#M!-#P:M. D ()6 )5B*
etc
Ncrire un programme en ! permettant de lire le fichier et de :
( crer un tableau de personnes
5 afficher la liste des (* premi0res personnes
6 compter et afficher le nombre de personnes dont :
- la taille dpasse (G* m0tre
- le poids dpasse B47G Ugs
Chapitre 5 : Structure et tableaux des structures Page 108
$olution :
KL &ichier $truct(#CB: exemple sur le type 8struct8 en !
LK
Oinclude YstdiohX
Oinclude YstringhX
Odefine D#^Q".M$ 5B
Odefine L<P2QP" 6*
typedef struct
H char nom"reSL<P2QP"9(T I
char sexe I
float taille, poids I
J
Personne ;
Personne pers'()*_P+,-. ;
int nb"ers I
void continuer()
H
printf(8#ppuye[ sur .ntre 8)I
fflush(stdin)I
getchar()I
J
void lire/reer !Personne pers'., int * P"
H &%L. L donnees I
int n ; * I
float t, p I
donnees ; fopen(8Detri,ue:ta8, 8r8)I
`hile (afeof(donnees)) H
KL <n lit 6* caract0res pour un nom et prnom et on fait
dposer le caract0re +W*+ 3 la fin LK
fgets(persSPTnom"re, L<P2QP"9(, donnees)I
fscanf(donnees,8VcVfVfWn8, ZpersSPTsexe, Zt, Zp)I
persSnTtaille ; t I
persSnTpoids ; p I
n99I
J
fclose(donnees)I
L" ; n I
J
Chapitre 5 : Structure et tableaux des structures Page 109
int nombre !Personne pers'., int nbPers, int code, float borne"
H
int U ; * , i I
for (i ; * I i Y nb"ers I i99)
if ( (code ;; ( ZZ persSiTtaille X borne) bb
(code ;; 5 ZZ persSiTpoids X borne) ) U99I
return U I
J
/* d0monstration du pointeur vers le type structure */
void )fficher ! Personne * P, int nombre "
H int i I
printf(8Liste des Vd premi0res personnes :WnWn8, nombre)I
for (i ; * I i Y nombre I i99)
printf(8V6d) Vs V45f m VG(f Ugs VsWn8, i9(,
("9i)-Xnom"re, ("9i)-Xtaille, ("9i)-Xpoids,
("9i)-Xsexe ;; +&+ c 8&minin8 : 8Dasculin8)I
!ontinuer()I
J
void main()
H
lire!reer ("ers, Znb"ers)I
afficher("ers, nb"ers)I
printf(8WnWn8)I
printf(8Le nombre de personnes dont la taille dpasse8
8 (G* m0tre :V6dWn8,
nombre("ers, nb"ers, (, (G*))I
printf(8Le nombre de personnes dont le poids dpasse8
8 B47G Ugs :V6dWn8,
nombre("ers, nb"ers, 5, B47G))I
continuer()I
J
.xcution :
Liste des (* premi0res personnes :
() M<_ !\#P'#L (46 m B)C Ugs &minin
5) D<L#%$<P !L#/:. (B7 m B45 Ugs Dasculin
6) R.:#M: D#M!-#P:M. ()6 m )5B Ugs Dasculin
)) D<P#$' $'."\#P. (4B m 4(7 Ugs Dasculin
B) d#LR.M' L_P. (46 m )74 Ugs &minin
4) :/R. &M#P!<%$. (46 m B6B Ugs &minin
7) L#R.LL. L%$. (76 m 46* Ugs &minin
Chapitre 5 : Structure et tableaux des structures Page 110
G) M%e.M%P \.L.P. (7* m 4*G Ugs &minin
C) D%!\#/: P<MD#P: (76 m 7(7 Ugs Dasculin
(*) M%!\.M #2#'\. (4B m B6( Ugs &minin
#ppuye[ sur .ntre
Le nombre de personnes dont la taille dpasse (G* m0tre : (
Le nombre de personnes dont le poids dpasse B47G Ugs : (*
#ppuye[ sur .ntre
.xemple 5 :
#dapter le programme de l+exemple ( afin ,u+il permette aussi de
( trier le tableau selon le nom et prnom
5 afficher la liste des (* premi0res personnes avant et
apr0s le tri
6 chercher et afficher les informations d+une personne
) crer un fichier texte nomm 8\ommes2ra8 ,ui contient les
informations des hommes dont la taille dpasse (7B m0tre
$olution :
KL &ichier $truct5#CB: $uite de $truct(#CB LK
Oinclude YstdiohX
Oinclude YctypehX
Oinclude YstringhX
Odefine D#^Q".M$ 5B
Odefine L<P2QP" 6*
typedef struct
H char nom"reSL<P2QP"9(T I
char sexe I
float taille, poids I
J
"ersonne I
"ersonne persSD#^Q".M$T I
int nb"ers I
void continuer()
H printf(8WnWn#ppuye[ sur .ntre 8)I
fflush(stdin)I
getchar()I
J
Chapitre 5 : Structure et tableaux des structures Page 111
void lire!reer ("ersonne persST, int L ")
H &%L. L donnees I
int n ; * I
float taille, poidsI
donnees ; fopen(8Detri,ue:ta8, 8r8)I
`hile (afeof(donnees)) H
fgets("ersSnTnom"re, L<P2QP"9(, donnees)I
fscanf(donnees,8VcVfVfWn8, Z"ersSnTsexe, Ztaille, Zpoids)I
persSnTtaille ; taille I
persSnTpoids ; poids I
n99I
J
fclose(donnees)I
L" ; n I
J
void afficher ( "ersonne L ", int nombre, char L ,uand )
KL note : (L")champ Y;;;X "-Xchamp LK
H int i I
printf(8Liste des Vd premi0res personnes Vs le tri:WnWn8,
nombre, ,uand)I
for (i ; * I i Y nombre I i99)
printf(8V6d) Vs V45f m VG(f Ugs VsWn8, i9(,
("9i)-Xnom"re, ("9i)-Xtaille, ("9i)-Xpoids,
("9i)-Xsexe ;; +&+ c 8&minin8 : 8Dasculin8)I
continuer()I
J
KL 'ri par slection LK
void 1rier !Personne pers'., int nbPers"
H
int i, j, indDin I KL pour le tri par slection LK
"ersonne tempo I KL pour changer 5 personnes LK
for (i ; * I i Y nb"ers-( I i99) H
indDin ; i I KL par dfaut LK
for ( j ; i9( I j Y nb"ers I j99 )
if ( strcmp(persSjTnom"re , persSindDinTnom"re) Y * )
indDin ; j I
Chapitre 5 : Structure et tableaux des structures Page 112
if (indDin a; i) H KL faire des changesLK
tempo ; persSiT I
persSiT ; persSindDinTI
persSindDinT ; tempo I
J KL fin de if (commentaire pdagogi,ue) LK
J KL fin de for (commentaire pdagogi,ue) LK
J
void creer("ersonne persST, int nb"ers, char sexeeoulu,
float borne, char L nom&ichier)
H &%L. L a!reer ; fopen(nom&ichier, 8`8 ) I KL ` ;X for `riting LK
for (int i ; * I KL cas spcial de !99, dclaration 8flexible8 LK
i Y nb"ers I i99)
if (persSiTsexe ;; sexeeoulu ZZ persSiT taille X borne)
fprintf(a!reer,8Vs Vc V45f V7(fWn8, persSiTnom"re,
persSiTsexe, persSiTtaille, persSiTpoids)I
fclose(a!reer)I
J
/* ,echerche dichotomi2ue dans un tableau tri0 */
void /hercher!Personne pers'., int nbPers"
H
char a!hercherSL<P2QP"9(T I
int mini, maxi, milieu, trouve I
int compare, longueur I
Odefine eM#% (
Odefine &#/^ *
do H
printf(8M.!\.M!\. :%!\<'<D%f/.Wn8)I
printf(8fuel,ues noms existants :Wn8)I
printf(8:ube &rancoise, Labelle Lise, 8)I
printf(8WnWn.ntre[ le nom et prnom de la 8
8personne recherche 8)I
gets(a!hercher)I KL get string ; lire une chane LK
longueur ; strlen(a!hercher) I
mini ; * I
maxi ; nb"ers - ( I
trouve ; &#/^ I KL on ne trouve pas encore LK
Chapitre 5 : Structure et tableaux des structures Page 113
`hile (atrouve ZZ mini Y; maxi) H
milieu ; (mini 9 maxi) K 5 I
compare ; strnicmp(a!hercher, persSmilieuTnom"re, longueur)I
if ( compare Y * )
maxi ; milieu - ( I
else if (compare X *)
mini ; milieu 9 ( I
else trouve ; eM#% I
J
if (atrouve)
printf(8:sol, on ne trouve pas VsWn8, a!hercher)I
else H
printf(8_ahoua, voici ses informations :WnWn8)I
printf(8Pom et prnom : VsWn8, persSmilieuTnom"re)I
printf(8taille : V45f m0treWn8,
persSmilieuTtaille)I
printf(8poids : V45f Ugs Wn8,
persSmilieuTpoids)I
printf(8sexe : VsWn8,
persSmilieuTsexe ;; +&+ c 8&minin8: 8Dasculin8)I
J
printf(8WnWn8)I
printf(8#ve[-vous une autre personne 3 traiter c (<KP) 8)I
fflush(stdin)I
J `hile (toupper(getchar()) ;; +<+)I
J
void main()
H
lire!reer (pers, Znb"ers)I
afficher(pers, (*, 8avant8)I
trier (pers, nb"ers) I
afficher(pers, (*, 8apr0s8)I

chercher(pers, nb"ers)I

KL !rer un fichier texte nomm 8\ommes2ra8 ,ui ne
contient ,ue les informations des hommes dont
la taille est suprieure 3 (7B m0tre LK
creer("ers, nb"ers, +D+, (7B, 8\ommes2ra8)I
printf(8WnWn&in de la cration du nouveau fichier \ommes2raWn8)I
continuer()I
J
Chapitre 5 : Structure et tableaux des structures Page 114
.xcution :
Liste des (* premi0res personnes avant le tri:
() M<_ !\#P'#L (46 m B)C Ugs &minin
5) D<L#%$<P !L#/:. (B7 m B45 Ugs Dasculin
6) R.:#M: D#M!-#P:M. ()6 m )5B Ugs Dasculin
)) D<P#$' $'."\#P. (4B m 4(7 Ugs Dasculin
B) d#LR.M' L_P. (46 m )74 Ugs &minin
4) :/R. &M#P!<%$. (46 m B6B Ugs &minin
7) L#R.LL. L%$. (76 m 46* Ugs &minin
G) M%e.M%P \.L.P. (7* m 4*G Ugs &minin
C) D%!\#/: P<MD#P: (76 m 7(7 Ugs Dasculin
(*) M%!\.M #2#'\. (4B m B6( Ugs &minin

#ppuye[ sur .ntre

Liste des (* premi0res personnes apr0s le tri:

() R.:#M: D#M!-#P:M. ()6 m )5B Ugs Dasculin
5) R.2%P D#M%.-L/!. (4* m )C* Ugs &minin
6) :.$D#M#%$ :.P%$. (7B m 4)* Ugs &minin
)) :/R. &M#P!<%$. (46 m B6B Ugs &minin
B) :/D%'M/ "%.MM. (G* m 7C) Ugs Dasculin
4) &%LL%<P .M%! (7G m 7BG Ugs Dasculin
7) d#LR.M' L_P. (46 m )74 Ugs &minin
G) L#R.LL. L%$. (76 m 46* Ugs &minin
C) D%!\#/: P<MD#P: (76 m 7(7 Ugs Dasculin
(*) D<L#%$<P !L#/:. (B7 m B45 Ugs Dasculin
#ppuye[ sur .ntre
M.!\.M!\. :%!\<'<D%f/.
fuel,ues noms existants :
:ube &rancoise, Labelle Lise, Dichaud Pormand


.ntre[ le nom et prnom de la personne recherche dube francoise
_ahoua, voici ses informations :

nom et prnom : :/R. &M#P!<%$.
taille : (46 m0tre
poids : B6B5 Ugs
sexe : &minin
#ve[-vous une autre personne 3 traiter c (<KP) o
M.!\.M!\. :%!\<'<D%f/.
fuel,ues noms existants :
:ube &rancoise, Labelle Lise, Dichaud Pormand
.ntre[ le nom et prnom de la personne recherche ali baba
:sol, on ne trouve pas ali baba
Chapitre 5 : Structure et tableaux des structures Page 115
#ve[-vous une autre personne 3 traiter c (<KP) P
&in de la cration du nouveau fichier \ommes2ra
#ppuye[ sur .ntre
/ontenu du fichier 34ommes5ra3 :
:/D%'M/ "%.MM. D (G* 7C)
&%LL%<P .M%! D (7G 7BG
'M.DRL#_ $_Le#%P D (G6 G45
Chapitre 5 : Structure et tableaux des structures Page 116

You might also like