figure.cpp

text/x-c++src figure.cpp — 1.7 KB

Contenu du fichier

#include <iostream>
#include <cctype>   // contient la fonction toupper (transforme an maj.)

#include "cercle.h"
#include "rectangle.h"
#include "carre.h"

using namespace std;

int main()
{
	void traite_figure(char) ;

	char fig ;

	for (int i = 0 ; i < 3 ; i++)
	{
		cout << "Entrer la figure a traiter" << endl
			<< "     C pour cercle" << endl
			<< "     R pour rectangle" << endl
			<< "     K pour carre" << endl ;
		cin >> fig ;
		traite_figure(fig) ;
	}
	cout << "Fin du traitement" << endl ;
}


void traite_figure(char f)
{
	Cercle rond ;
	Rectangle boite ;
	Carre de ;


	switch(toupper(f))
	{
		case 'C' :
			   cout << "Entrez les donnees du cercle: " ;
               cin >> rond;
			   cout << "Le cercle de rayon " ;
			   cout << rond ;
			   cout << "cms a pour perimetre " ;
			   cout << rond.perimetre() << "cms" ;
			   cout << endl <<"       et pour surface " ;
			   cout << rond.surface() << "cms2" << endl ;
			   break ;
		case 'R' :
		           cout << "Entrez les donnees du rectangle: " ;
		           boite.lecture() ;
			   cout << "Le rectangle de cotes " ;
			   boite.imprime() ;
			   cout << "cms a pour perimetre " ;
			   cout << boite.perimetre() << "cms";
			   cout << endl <<"       et pour surface " ;
			   cout << boite.surface() <<"cms2" << endl ;
			   break ;
		case 'K' :
		           cout << "Donner le cote en cms: " ;
			   de.lecture() ;
			   cout << "Le carre de cote " ;
			   de.imprime() ;
			   cout << "cms a pour perimetre "  ;
			   cout << de.perimetre() << "cms" ;
			   cout << endl <<"       et pour surface " ;
			   cout << de.surface() << "cms2" << endl ;
			   break ;
		default : cerr << "Forme inconnue. Recommencer" << endl ;
	}
}