Programme 2 (sans paramètre) : Dessiner une fillette (doxygen)
Programme 2.cpp — 7.3 KB
Contenu du fichier
/*************************************************************/ /** \file dessin.cpp \brief Ce programme dessine une maison et la silhouette d'une fillette. Ce programme dessine une maison et la silhouette d'une fillette a l'aide de caractere ascii. Cet exemple illustre particulierement les differents niveaux d'abstraction. <ol> <li>le haut niveau : la maison dessine_maison() ou la fillette dessine_fillette() </li> <li>la decomposition de l'objet toujours en restant dans le monde "reel": <ul> <li>le toit de la maison dessine_toit()</li> <li>les murs de la maison dessine_murs()</li> <li>la tete de la fillette dessine_tete()</li> <li>le corps de la fillette dessine_corps()</li> <li>les jambes de la fillette dessine_jambe()</li> </ul> </li> <li>les formes geometriques conceptuelles utilisees pour creer les objets reels: <ul> <li>le cercle dessine_cercle()</li> <li>le rectangle dessine_rectangle()</li> <li>le triangle dessine_triangle()</li> <li>le cone dessine_cone()</li> </ul> </li> <li>finalement, les composantes de certaines formes geometriques conceptuelles (le cercle est a la fois un objet et sa propre composante): <ul> <li>la ligne droite dessine_base()</li> <li>l'intersection de deux ligne dessine_intersection()</li> <li>les deux lignes paralleles dessine_parallele()</li> </ul> </li> </ol> \b Entree: \li aucune \b Sortie: \li aucune \author Gabriel Girard \date 27 septembre 2007 (dernière version) \date 12 septembre 1994 (création) \version v1.2, 27 septembre 2007, redecoupage modulaire, Benoit Fraikin \version v1.1, 15 septembre 2005, mise a jour, Benoit Fraikin */ /*************************************************************/ #include <iostream> using namespace std; /*-----------------------------------------------------------*/ /** \brief Programme principal qui dessine une maison et la silhouette d'une fillette. */ /*-----------------------------------------------------------*/ int main() { // declaration de fonctions utiles void dessine_maison(); void dessine_fillette(); // On dessine la maison dessine_maison(); // On dessine la fillette dessine_fillette(); return 0; } // fin main() /*-----------------------------------------------------------*/ /** \fn dessine_maison \brief Cette fonction dessine une maison */ /*-----------------------------------------------------------*/ void dessine_maison() { // declarations des fonctions utiles void dessine_toit(); void dessine_murs(); // On dessine la maison dessine_toit(); dessine_murs(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_toit \brief Cette fonction dessine un toit d'une maison */ /*-----------------------------------------------------------*/ void dessine_toit() { // declaration des fonctions utiles void dessine_cone(); dessine_cone(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_murs \brief Cette fonction dessine les murs d'une maison */ /*-----------------------------------------------------------*/ void dessine_murs() { // declaration des fonctions utiles void dessine_rectangle(); dessine_rectangle(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_fillette \brief Cette fonction dessine une fillette */ /*-----------------------------------------------------------*/ void dessine_fillette() { // declaration des fonctions utiles void dessine_tete(); void dessine_corps(); void dessine_jambes(); // On dessine la fillette dessine_tete(); dessine_corps(); dessine_jambes(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_tete \brief Cette fonction dessine la tete d'une fillette */ /*-----------------------------------------------------------*/ void dessine_tete() { // declaration des fonctions utiles void dessine_cercle(); dessine_cercle(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_corps \brief Cette fonction dessine le corps d'une fillette */ /*-----------------------------------------------------------*/ void dessine_corps() { // declaration des fonctions utiles void dessine_triangle(); dessine_triangle(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_jambes \brief Cette fonction dessine les jambes d'une fillette */ /*-----------------------------------------------------------*/ void dessine_jambes() { // declaration des fonctions utiles void dessine_cone(); dessine_cone(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_cercle \brief Cette fonction dessine un cercle */ /*-----------------------------------------------------------*/ void dessine_cercle() { char point = '$'; cout << " "<< point << " "<< point << endl; cout << " "<< point << " "<< point << endl; cout << " "<< point << " "<< point << endl; return; } /*-----------------------------------------------------------*/ /** \fn dessine_cone \brief Cette fonction dessine un cone vers le haut */ /*-----------------------------------------------------------*/ void dessine_cone() { // declaration des fonctions utiles void dessine_intersection(); dessine_intersection(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_rectangle \brief Cette fonction dessine un rectangle */ /*-----------------------------------------------------------*/ void dessine_rectangle() { // declarations des fonctions utiles void dessine_base(); void dessine_parallele(); // On dessine le rectangle dessine_base(); dessine_parallele(); dessine_base(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_triangle \brief Cette fonction dessine un triangle */ /*-----------------------------------------------------------*/ void dessine_triangle() { // declarations des fonctions utiles void dessine_base(); void dessine_intersection(); // On dessine le rectangle dessine_intersection(); dessine_base(); return; } /*-----------------------------------------------------------*/ /** \fn dessine_base \brief Cette fonction dessine une ligne */ /*-----------------------------------------------------------*/ void dessine_base() { cout << "-----------" << endl; return; } /*-----------------------------------------------------------*/ /** \fn dessine_intersection \brief Cette fonction dessine deux lignes intersectrices */ /*-----------------------------------------------------------*/ void dessine_intersection() { cout <<" / \\ " << endl; cout <<" / \\ " << endl; cout <<"/ \\ " << endl; return; } /*-----------------------------------------------------------*/ /** \fn dessine_parallele \brief Cette fonction dessine deux lignes verticales paralleles */ /*-----------------------------------------------------------*/ void dessine_parallele() { cout <<"| |" << endl; cout <<"| |" << endl; cout <<"| |" << endl; return; }