Programmation C++/Un premier programme
Après ces quelques introductions, nous allons désormais pouvoir commencer à apprendre le C++.
Le fichier source.
Tapez le fichier suivant dans un éditeur de texte :
using namespace std;
int main() 
 cout « "BONJOUR" « endl;
 return 0;
En général, un fichier source C++ utilise l'extension codice_1.
On trouve également l'extension codice_2.
Le principal est de choisir l'extension une fois pour toute, pour la cohérence des fichiers.
Explications.
La directive codice_3.
La directive de compilation codice_4 permet d'inclure les prototypes des différentes classes contenues dans la bibliothèque standard iostream. Cette bibliothèque contient la définition de codice_5 qui permet entre autre d'afficher des messages à l'écran.
L'espace de nommage standard.
Un espace de nommage peut être vu comme un ensemble d'identifiants C++ (types, classes, variables etc.). cout fait partie de l'espace de nommage std. Pour parler de l'objet prédéfini cout de l'espace de nommage std, on peut écrire std::cout. Cette notation est assez lourde car elle parsème le code de "std::". Pour cela on a écrit using namespace std qui précise que, par défaut, la recherche s'effectuera aussi dans l'espace de nommage std. On pourra donc alors écrire tout simplement "cout" pour parler de "std::cout". On dit que std est un espace de nom ("namespace" en anglais).
La fonction main.
Tout programme en C++ commence par l'exécution de la fonction main. Il se termine lorsque la fonction main est terminée. La fonction main peut être vue comme le point d'entrée de tout programme en C++. Cette fonction renvoie un entier, très souvent 0, qui permet d'indiquer au système d'exploitation que l'application s'est terminée normalement.
L'objet cout.
Il permet d'envoyer des caractères vers le flux de sortie standard du programme, c'est-à-dire l'écran pour ce programme (sa fenêtre console). Il permet donc d'afficher des messages à l'écran. En utilisant l'opérateur codice_6, on peut écrire une chaîne de caractères à l'écran. L'instruction codice_7 affiche donc le message BONJOUR à l'écran.
return 0.
Cette instruction (facultative ici) indique que la fonction codice_8 est terminée et que tout s'est bien passé.
Nous verrons plus loin ce que veut dire exactement l'instruction codice_9, mais même si elle est facultative il est fortement recommandé de la mettre, que ce soit par simple souci de conformité ou du fait que votre programme est censé renvoyer une valeur à la fin de son exécution.
Exécution.
Si on compile et exécute ce programme, le message BONJOUR s'affiche à l'écran.
Il est possible que vous ne voyez qu’une fenêtre noire "flasher" si vous êtes sous Windows . Pour résoudre ce problème, ajoutez avant le "return 0" l’instruction :
system("pause");

Programmation C++/Les structures
Présentation.
Les structures permettent de regrouper plusieurs variables de nature différente dans une même entité, par exemple des nombres, des booléens, des tableaux de chaines de caractères...
Ainsi, il est possible de construire de nouveaux types plus complexes.
Par comparaison, les tableaux permettent de regrouper seulement plusieurs variables de nature identique dans une même entité : un tableau de chaines de caractères, par exemple, mais pas de booléen "en plus".
Une structure permet une meilleure organisation du code en regroupant tous les attributs relatifs à une entité.
Par exemple, une structure codice_1 peut contenir la marque (chaîne de caractère), le modèle (autre chaîne de caractère), l'année (entier), le kilométrage (entier), le prix (nombre à virgule flottante, ou entier pour représenter un prix en centimes).
Syntaxe.
 struct "identificateur"
 // liste des différents champs constituant notre structure
 // utilise la même syntaxe que la déclaration de variables
 } "[variables]";
codice_2 identifie le nouveau type de données.
Une variable de ce type est donc précédé de codice_3 ou codice_2 car le mot codice_5 est optionnel.
codice_6 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 codice_7 comportant deux champs (appelées également variables membres) codice_8 et codice_9 de type codice_10.
using namespace std;
struct Position
 double x;
 double y;
int main()
 Position 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 codice_11 et codice_12 sont deux structures de type codice_7.
L'accès à un champ d'une structure se fait par l'opérateur point (codice_14) séparant la variable structure du nom du membre accédé.
Pointeur vers une structure.
On peut écrire naturellement
 Point* pA;
 cout « "Tapez l'abscisse de A : "; cin » (*pA).x;
 cout « "Tapez l'ordonnée de A : "; cin » (*pA).y;
Pour faciliter la lecture et éviter les erreurs, on utilise l'opérateur codice_15. On peut écrire codice_16 à la place de codice_17. Attention, codice_18 donne une erreur de compilation, à cause de la priorité des opérateurs.
 Point* pA;
 cout « "Tapez l'abscisse de A : "; cin » pA->x;
 cout « "Tapez l'ordonnée de A : "; cin » pA->y;
Copier une structure.
Copier une structure se fait très simplement
using namespace std;
struct Point
 double x;
 double y;

int main()
 Point A, B;
 A.x = 2.0;
 A.y = 3.0;
 B = A;
 cout « "A a été recopié dans B : " « B.x « ", " « B.y « endl;
 return 0;

Programmation C++/Avant propos
Ce livre est destiné à présenter les différents aspects du langage de programmation . L'objectif est d'en faire un livre référence sur les différents aspects de ce langage, en étant le plus exhaustif possible. Nous essayerons de proposer pour chaque concept un voire plusieurs exemples illustratifs complets.

Programmation C++/Bibliographie et liens

Exercices en langage C++
Sommaire.
Nombre total d'exercices corrigés : 63

Exercices en langage C++/Notions de base

Notions de base.
EXERCICE 1.
Écrire un programme qui affiche ceci à l'écran :
Hello world!
Voici un programme illustrant l'utilisation de cout !
EXERCICE 2.
Écrire un programme qui demande à l'utilisateur de taper la largeur et la longueur d'un champ et qui en affiche le périmètre et la surface.
EXERCICE 3.
Écrire un programme qui demande à l'utilisateur de taper 5 entiers et qui affiche leur moyenne. Le programme ne devra utiliser que 2 variables.
EXERCICE 4.
Écrire un programme qui demande à l’utilisateur de saisir 2 entiers A et B, qui échange le contenu des variables A et B puis qui affiche A et B.
EXERCICE 5.
Écrire un programme qui demande à l'utilisateur de taper le prix HT d'un kilo de tomates, le nombre de kilos de tomates achetés, le taux de TVA (Exemple 10%,20%...). Le programme affiche alors le prix TTC des marchandises.
__SECTIONNONEDITABLE__