Exercice langage C corrigé rectangle

Découverte et travail des classes. Utilisation d'un constructeur et d'un destructeur.

#include

using namespace std;

class Rectangle
{
public:
  Rectangle(unsigned int initLargeur, unsigned int initHauteur);
  ~Rectangle();
  unsigned int getLargeur() const { return largeur; };
  unsigned int getHauteur() const { return hauteur; };
  unsigned int perimetre() const { return 2*(largeur+hauteur); };
  unsigned int surface() const { return largeur * hauteur; };
  void setLargeur(unsigned int newLargeur) { largeur = newLargeur; };
  void setHauteur(unsigned int newHauteur) { hauteur = newHauteur; };
  void afficher();

private:
  unsigned int largeur;
  unsigned int hauteur;
};

Rectangle::Rectangle(unsigned int initLargeur, unsigned int initHauteur)
{
  largeur = initLargeur;
  hauteur = initHauteur;
}

Rectangle::~Rectangle()
{
}

void Rectangle::afficher()
{
  for(unsigned int i=0; i < hauteur; i++)
  {
    for(unsigned int j=0; j < largeur; j++)
      cout << "*";
    cout << endl;
  }
}

int main()
{
  Rectangle monRectangle(0,0);
  char choix = '0';
  unsigned int value;

  while(true)
  {
    do
    {
      cout << " Rectangle - Menu" << endl;
      cout << "1 - Modifier largeur du rectangle" << endl;
      cout << "2 - Modifier hauteur du rectangle" << endl;
      cout << "3 - Calculer les propriétés du rectangle" << endl;
      cout << "4 - Afficher le rectangle" << endl;
      cout << "5 - Quitter" << endl;

      cin >> choix;
    }while(choix < '1' || choix > '5');

    switch(choix)
    {
      case '1':
        cout << "Nouvelle largeur : ";
        cin >> value;
        monRectangle.setLargeur(value);
        break;
      case '2':
        cout << "Nouvelle hauteur : ";
        cin >> value;
        monRectangle.setHauteur(value);
        break;
      case '3':
        cout << "Périmètre : " << monRectangle.perimetre() << endl;
        cout << "Surface : " << monRectangle.surface() << endl;
        break;
      case '4':
        monRectangle.afficher();
        break;
      case '5':
        exit(0);
        break;
      default:
        cout << "Erreur ! Choix invalide." << endl;
        exit(1);
    }
  }

  return 2;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *