0% ont trouvé ce document utile (0 vote)
218 vues4 pages

Structures en C++ : Concepts et Exemples

Le document décrit les structures en C++. Il présente la différence entre tableaux et structures, puis donne des exemples d'utilisation de structures comme la représentation d'un point et d'un triangle. Le document contient également des exercices sur les structures.

Transféré par

sellamiwael
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
218 vues4 pages

Structures en C++ : Concepts et Exemples

Le document décrit les structures en C++. Il présente la différence entre tableaux et structures, puis donne des exemples d'utilisation de structures comme la représentation d'un point et d'un triangle. Le document contient également des exercices sur les structures.

Transféré par

sellamiwael
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

École préparatoire aux sciences et techniques, Annaba

Année universitaire 2012/2013


Module : Informatique 2

Série de TD n˚7 : Structures


Solution
Rappel sur les structures
1. En C++, les tableaux et les structures permettent de résérver en mémoire un en-
semble de données. Mais quel différence principale existe entre tableaux et struc-
tures ?
Les éléments d’un tableau sont tous de même type
Alors que dans une structure les éléments peuvent être de types différents.

2. Dans un plan cartésien, un point a deux coordonnées x et y. Donner une structure


qui permet de représenter un point.
struct point {
int x;
int y;
};

3. Généralement, comment appelle-t-on les éléments d’une structure ?


Les champs.

4. Comment on peut accéder aux champs d’une variable de type structure ?


En utilisant le point. Exemple a.x;

5. Soit la déclaration suivante :


struct personne {
int age;
char sexe;
};

Choisir la proposition correcte. Cette déclaration :

1
(a) Crée deux variables age et sexe.
(b) Crée une nouvelle variable appelée personne qui a deux champs age et sexe.
(c) Crée un nouveau type appelé personne. Des variables de type personne
peuvent être déclarées.
(c)

6. Utiliser la structure déclarée dans la question 2 pour déclarer deux points a(10,5)
et b(1,3).
point a;
a.x = 10;
a.y = 5;
point b;
b.x = 1;
b.y = 3;

Exercices 1
Soit la structure suivante :

struct point {
int x;
int y;
};

1. Écrire une fonction distance qui a deux paramètres de type point. Cette fonction
calcule la distance entre ces deux points.
int distance(point a, point b) {
return sqrt((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));
}

2. En utilisant la structure point, écrire une structure triangle qui pérmet de repré-
senter un triangle.
struct triangle {
point p1;
point p2;
point p3;
}

3. Créer une variable de type triangle avec les points (0,0) (1,0) et (0,1).
triangle t;
t.p1.x = 0;

2
t.p1.y = 0;
t.p2.x = 1;
t.p2.y = 0;
t.p3.x = 0;
t.p3.y = 1;

Exercice 2
Soit le programme suivant :
#include<iostream>
using namespace std;
struct point {
int x;
int y;
};

void raz(point p) {
p.x = 0;
p.y = 0;
}

int main() {
point m;
m.x = 20;
m.y = 30;
raz(m);
cout << "Le point après la remise à zero m(" << m.x << "," << m.y << ")";
}
1. Qu’affiche ce programme ?
Le point après la remise à zero m(20,30)

2. Que doit-t-on modifier pour que la fonction raz remette à zero le point donnée en
paramètre ?
Le paramètre de la fonction raz devra être passé par référence (ou variable)
pour pouvoir modifier ces champs :
void raz(point & p)

Exercice 3
Nous supposons qu’une facture est un tableau de 10 éléments. Chaque élément de
cette facture est un produit qui a les champs prixU et quantité. Écrire un programme
qui :

3
1. Déclare une facture.
2. Lit les données de la facture à partir du clavier.
(prixU ∗ quantité))
P
3. Calcule et affiche le total de la facture. (total =

#include<iostream>
using namespace std;

struct produit {
double prixU;
int quantite;
};

int main() {
//(a)
produit facture[10];
//(b)
for (int i=0;i<10;i++) {
cin >> facture[i].prixU;
cin >> facture[i].quantite;
}
//(c)
double total = 0;
for (int i=0;i<10;i++) {
total += facture[i].prixU * facture[i].quantite;
}
cout << total;
}

Vous aimerez peut-être aussi