Exercice langage C: Rectangle
Rédigé par GC Team, Publié le 18 Février 2012, Mise à jour le Lundi, 07 Novembre 2022 23:07Ecrire un programme utilisant une classe rectangle dont le constructeur prend deux paramètres, largeur et hauteur et qui offre les fonctions suivantes :
- calcul du périmètre
- calcul de la surface
- affichage
Ainsi que les accesseurs et mutateurs triviaux (lecture et modification de la largeur et de la hauteur).
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;
}