Programme 2 (sans paramètre) : Dessiner une fillette (doxygen)

text/x-c++src 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;
}