Exercice 57
Énoncé
Soit le modèle de structure suivant :
struct essai
{ int n ;
float x ;
} ;
Écrire une fonction nommée raz permettant de remettre à zéro les 2 champs d’une
structure de ce type transmise en argument :
a. par adresse ;
b. par référence.
Dans les deux cas, on écrira un petit programme d’essai de la fonction ; il affichera
les valeurs d’une structure de ce type, après appel de ladite fonction.
a. Avec une transmission d’adresse
#include
using namespace std ;
struct essai
{ int n ;
float x ;
} ;
void raz (struct essai * ads)
{ ads->n = 0 ; // ou encore (*ads).n = 0 ;
ads->x = 0.0 ; // ou encore (*ads).x = 0.0 ;
}
main()
{ struct essai s ;
raz (&s) ;
cout << "valeurs après raz : " << s.n << " " << s.x ;
}
b. Avec une transmission par référence
#include
using namespace std ;
struct essai
{ int n ;
float x ;
} ;
void raz (struct essai & s)
{ s.n = 0 ;
s.x = 0.0 ;
}
122
Énoncé
Soit le modèle de structure suivant :
struct essai
{ int n ;
float x ;
} ;
Écrire une fonction nommée raz permettant de remettre à zéro les 2 champs d’une
structure de ce type transmise en argument :
a. par adresse ;
b. par référence.
Dans les deux cas, on écrira un petit programme d’essai de la fonction ; il affichera
les valeurs d’une structure de ce type, après appel de ladite fonction.
a. Avec une transmission d’adresse
#include
using namespace std ;
struct essai
{ int n ;
float x ;
} ;
void raz (struct essai * ads)
{ ads->n = 0 ; // ou encore (*ads).n = 0 ;
ads->x = 0.0 ; // ou encore (*ads).x = 0.0 ;
}
main()
{ struct essai s ;
raz (&s) ;
cout << "valeurs après raz : " << s.n << " " << s.x ;
}
b. Avec une transmission par référence
#include
using namespace std ;
struct essai
{ int n ;
float x ;
} ;
void raz (struct essai & s)
{ s.n = 0 ;
s.x = 0.0 ;
}
122
