Ecrire un programme utilisant une classe rectangle dont le constructeur prend deux paramètres, largeur et hauteur et qui offre les fonctions suivantes :
Ainsi que les accesseurs et mutateurs triviaux (lecture et modification de la largeur et de la hauteur).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
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; } |