« Programmation C++/Les structures » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Tavernierbot (discussion | contributions)
source
Ligne 1 : Ligne 1 :
{{Programmation C++}}
{{Programmation C++}}
== Les structures ==
== Les structures ==

=== Présentation ===
=== Présentation ===
Les structures permettent de regrouper dans une même entité plusieurs variables. Ainsi il est possible de construire de nouveaux types plus complexes.
Les structures permettent de regrouper plusieurs variables dans une même entité.
Ainsi il est possible de construire de nouveaux types plus complexes.

=== Syntaxe ===
=== Syntaxe ===
struct ''identificateur''

{
struct ''identificateur''
// liste des différents champs constituant notre structure
{
// utilise la même syntaxe que la déclaration de variables
// liste des différents champs constituant notre structure
} ''[variables]'';
// utilise la même syntaxe que la déclaration de variables
} ''[variables]'';


<tt>''identificateur''</tt> identifie le nouveau type de données.
<tt>''identificateur''</tt> identifie le nouveau type de données.
Ligne 19 : Ligne 21 :
L'exemple ci-dessous illustre l'utilisation d'une structure nommée <tt>Point</tt> comportant deux champs (appelées également variables membres) <tt>x</tt> et <tt>y</tt> de type <tt>double</tt>.
L'exemple ci-dessous illustre l'utilisation d'une structure nommée <tt>Point</tt> comportant deux champs (appelées également variables membres) <tt>x</tt> et <tt>y</tt> de type <tt>double</tt>.


<source lang="cpp">
#include <iostream>
#include<cmath>
#include <iostream>
#include<cmath>
using namespace std;
using namespace std;

struct Point
{
double x;
double y;
};

int main()
{
Point A, B;
double dx, dy, distance;
cout << "Tapez l'abscisse de A : "; cin >> A.x;
struct Point
cout << "Tapez l'ordonnée de A : "; cin >> A.y;
{
double x;
cout << "Tapez l'abscisse de B : "; cin >> B.x;
cout << "Tapez l'ordonnée de B : "; cin >> B.y;
double y;
};
int main()
{
Point A, B;
double dx, dy, distance;
cout << "Tapez l'abscisse de A : "; cin >> A.x;
cout << "Tapez l'ordonnée de A : "; cin >> A.y;
cout << "Tapez l'abscisse de B : "; cin >> B.x;
cout << "Tapez l'ordonnée de B : "; cin >> B.y;
dx = A.x - B.x;
dx = A.x - B.x;
dy = A.y - B.y;
dy = A.y - B.y;
Ligne 46 : Ligne 49 :
return 0;
return 0;
}
}
</source>


Les variables <tt>A</tt> et <tt>B</tt> sont deux structures de type <tt>Point</tt>.
Les variables <tt>A</tt> et <tt>B</tt> sont deux structures de type <tt>Point</tt>.

Version du 26 juillet 2008 à 20:01

Les structures

Présentation

Les structures permettent de regrouper plusieurs variables dans une même entité. Ainsi il est possible de construire de nouveaux types plus complexes.

Syntaxe

struct identificateur
{
    // liste des différents champs constituant notre structure
    // utilise la même syntaxe que la déclaration de variables
} [variables];

identificateur identifie le nouveau type de données. Une variable de ce type est donc précédé de struct identificateur ou identificateur car le mot struct est optionnel.

[variables] est optionnel et permet de déclarer une ou plusieurs variables de ce nouveau type.

Exemple

L'exemple ci-dessous illustre l'utilisation d'une structure nommée Point comportant deux champs (appelées également variables membres) x et y de type double.

#include <iostream>
#include<cmath>
using namespace std;

struct Point
{
    double x;       
    double y; 
};

int main()
{
    Point A, B;
    double dx, dy, distance;
 
    cout << "Tapez l'abscisse de A : "; cin >> A.x;
    cout << "Tapez l'ordonnée de A : "; cin >> A.y;
    cout << "Tapez l'abscisse de B : "; cin >> B.x;
    cout << "Tapez l'ordonnée de B : "; cin >> B.y;
 
    dx = A.x - B.x;
    dy = A.y - B.y;
    distance = sqrt( dx*dx + dy*dy );
   
    cout << "La distance AB vaut : " << distance << endl;
 
    return 0;
}

Les variables A et B sont deux structures de type Point. L'accés à un champ d'une structure se fait par l'opérateur point ( . ) séparant la variable structure du nom du membre accédé.