Cours C++ GIREF

Séance pratique #0.

Exercice 0.

Compiler le petit exemple suivant à l'aide de g++ :
 

#include <iostream>
int main()
{
   cout << "Bonjour GIREF!" << endl;
   return 0;
}
Exercice 1.

Compiler et exécuter le petit programme suivant :
 

#include <iostream>
int main()
{
   for (int i = 1 ; i < 10; ++i) {
      cout << "Bonjour GIREF!" << i << endl;
   }
   return 0;
}
Démarrer le programme et observer ce qui se passe.

Démarrer le débogueur ddd (data display debugger) de la façon suivante :

ddd boucle
Faire un Run.

Ensuite, cliquer à gauche de la ligne du "cout" avec le bouton de droite de la souris. Un menu apparaîtra. Choisir Set BreakPoint.

De nouveau, faire un Run.

Faire des Nextpour avancer l'exécution du programme pas à pas et observer ce qui se passe.  Observer la valeur de la variable i.

Faire un Display sur la variable i.

Dans la ligne de commande du débogueur au bas de la fenêtre, écrire print i (lorsque votre programme est en cours d'exécution).

Exercice 2.

Faire un programme qui calcule le cube d'un nombre entré par l'usager.  Pour ce programme, faire un appel de fonction et suivre la trace de l'exécution dans le débogueur.

Voici la signature de la fonction à créer :

double cube(double);
Exercice 3.

Refaire l'exercice 2, mais en passant le nombre par référence et observer le tout dans le débogueur.

void cube(double& pDouble);
Changer la référence par une référence const et observer le message d'erreur donné par le compilateur :
void cube(const double& pDouble);
Exercice 4.

Faire un petit programme qui demande à l'usager d'entrer un nombre entre 1 et 3 qui lui imprimera un message surprise.  Utiliser un "switch" dans le programme et donner un message d'erreur si l'usager choisit un nombre différent de 1, 2 ou 3.

Exercice 5.

Faire un petit programme qui définit l'énumération suivante :

enum Jour {lundi = 111, mardi, mercredi, jeudi, vendredi, samedi, dimanche};
Imprimer à l'usager les valeurs des entrées de l'enum et lui demander d'entrer un nombre et faire un switch sur ce nombre, afin d'afficher le choix entré.  Par la suite, changer la valeur associée à la 1re entrée de l'enum et exécuter à nouveau le programme.  Changer la valeur associée  à d'autres entrées de l'enum séparément.

Exercice 6.

Reprendre le programme fait à l'exercice 2 et faire une surcharge de la fonction cube, pour qu'elle puisse accepter des entiers et retourner des entiers. On aura alors les 2 méthodes suivantes:

double cube(double pNb);
int cube(int pNb);
Écrire ensuite un petit programme qui fera un appel à chacune des 2 fonctions.  Compiler et suivre la trace de l'exécution dans le débogueur.

Exercice 7.

Reprendre l'exercice 6, mais en créant une fonction template, qui accepte un argument de type quelconque et en retourne le cube.  Reprendre le même main() que dans le programme de l'exercice 6.