Vous êtes sur la page 1sur 21

MINISTERE DE LENSEIGNEMENT

SUPERIEUREET DE DE LA RECHERCHE

REPUBLIQUE TOGOLAISE
Travail-Libert-Patrie

PROJET DINFORMATIQUE

Conception dune application console avec le langage C++


Faisant le mtr dun Btiment

Option : GENIE CIVIL

Rdig par Jean-Paul K. AGBOH

Sous la direction du Docteur SALAMI et M BINIZI

juillet 2015

Jean-Paul K. AGBOH | Projet dinformatique

Introduction

Pour raliser un btiment il faut valuer son cout. Cette valuation estimative se fait
naturellement partant des dimensions de louvrage qui serviront lvaluation
quantitatives des matriaux. La quantit et les prix tant directement lis , une mauvaise
quantification des matriaux quest lavant mtr entrainera videmment une mauvaise
estimation de prix. Ceci pourrait faire perdre un march une entreprise ayant
soumissione et pourrait caus une dette une autre ayant gagn le march. Il est donc
claire que lexactitude est trs importante. Face la lourdeur du travail et de la contrainte
du facteur temps, lingnieur est succeptible au risque derreur. Il va donc falloire
trouver une solution pour gagner en temps et liminer les risques dereur pour etre non
seulement ffiace mais aussi fficient. Linformatique rpondant bien ce but,est donc
la solution envisageable. Cest dans cette perspective que nous avons choisi dans le
cadre de notre projet scolaire dinformatique le thme Conception dune application
console avec le langage C++ faisant le mtr du btiment en P.O.O. Notre objectif
est de pouvoir calculer les quantits de diffrents lment au moyen dune classe
Maison que nous avons cr

I.

Prsentation du programme.
Jean-Paul / Projet dinformatique

Notre programme contient une classe nomme Maison. Il possde des variables
membres qui sont les quantits des diffrents composants dune maison qui sont inities
0. Ce sont :
La surface des murs
La surface enduite au mortier
La surface peinte
La surface carrele
La surface des portes
La surface des fentres
Le volume de bton des poteaux
Le volume bton des poutres
Le volume bton des dalles
Le volume bton des semelles
Elle comprend des mthodes implmentes suivant les algorithmes relatifs au calcul des
variables membres de la classe. Ils ont en paramtres les dimensions gomtriques
pouvant servir au calcul des lments prcits. Ce sont :
La surface des murs
La surface enduite au mortier
La surface peinte
La surface carrele
La surface des portes
La surface des fentres
Le volume de bton des poteaux
Le volume bton des poutres
Le volume bton des dalles
Le volume bton des semelles

Limplmentation en langage C++ est en annexe ce document.

Jean-Paul / Projet dinformatique

II.

Validation de lapplication

Afin de montrer que le programme ressort comme entendu les valeurs quantitatives
des matriaux

nous montrons ici son comportement en prenant lexemple du

btiment ci-aprs
Porte

Dalle

Fentre

Mur
Semelle

Poteau

Notre maison comporte :


Une porte (2 1.5) ;
Une fentre bloc vitre (4 1) ;
Six semelles :
3 semelles (0.6 1 1);
3 semelles (0.4 1 1);
Six poteaux (0.2 3.8 0,2);
Quatre poutres
2 poutres (0.2 4.35 0.2);
2 poutres (0.2 12.45 0.2);
Une surface carrele (12.45 4,35) gale la surface de la dalle.
4 murs donnant en longueur dveloppe (2.8 26,8) ;
8 surfaces enduites donnant en longueur dvelopp (2.826,8) et (2.826)
La surface peinte est gale celle de lenduit.
Jean-Paul / Projet dinformatique

Voici linterface de notre application.

Jean-Paul / Projet dinformatique

Jean-Paul / Projet dinformatique

Jean-Paul / Projet dinformatique

Jean-Paul / Projet dinformatique

Conclusion
Ce programme nous permet de faire en un rien de temps et sans nous fatiguer le mtr
et lavant mtr du btiment. A base de cet programme on peut dvelopper dautres plus
importantes pour faire des tudes compltes tude de prix.

Jean-Paul / Projet dinformatique

Code
#include <iostream>

using namespace std;


class Maison
{
private:

double Surface_Mur ;
double Surface_Enduit_mortier;
double Surface_Peinture;
double Surface_Carreaux;
double Surface_Porte;
double Surface_Fenetre;
double Volume_Beton_Poutre;
double Volume_Beton_Poteau;
double Volume_Beton_Dalle;
double Volume_Beton_Semelle;

public:

Maison();
Maison(Maison const& Maisonsimilaire);
double Calcul_Surface_Mur ();
double Calcul_Surface_Enduit ();
double Calcul_Surface_Peinture ();
double Calcul_Surface_Carreaux ();
double Calcul_Surface_Porte ();
double Calcul_Surface_Fenetre ();
double Calcul_Volume_Beton_Poutre ();
double Calcul_Volume_Beton_Poteau ();
double Calcul_Volume_Beton_Dalle ();

Jean-Paul K. AGBOH | Projet dinformatique

double Calcul_Volume_Beton_Semelle ();


void Affiche_Maison ();

};

Maison::Maison()
{
Surface_Mur = 0 ;
Surface_Enduit_mortier = 0;
Surface_Peinture = 0;
Surface_Carreaux = 0;
Surface_Porte = 0;
Surface_Fenetre = 0;
Volume_Beton_Poutre = 0;
Volume_Beton_Poteau = 0;
Volume_Beton_Dalle = 0;
Volume_Beton_Semelle =0;
}

Maison::Maison( Maison const& Maisonsimilaire)


{
Surface_Mur = Maisonsimilaire.Surface_Mur ;
Surface_Enduit_mortier = Maisonsimilaire.Surface_Enduit_mortier;
Surface_Peinture = Maisonsimilaire.Surface_Peinture;
Surface_Carreaux = Maisonsimilaire.Surface_Carreaux;
Surface_Porte = Maisonsimilaire.Surface_Porte;
Surface_Fenetre = Maisonsimilaire.Surface_Fenetre;
Volume_Beton_Poutre = Maisonsimilaire.Volume_Beton_Poutre;
Volume_Beton_Poteau = Maisonsimilaire.Volume_Beton_Poteau;
Volume_Beton_Dalle = Maisonsimilaire.Volume_Beton_Dalle;
Volume_Beton_Semelle = Maisonsimilaire.Volume_Beton_Semelle;

Jean-Paul / Projet dinformatique

double Maison :: Calcul_Surface_Mur ()


{
double Long_Mur , Largeur_Mur ;
int Nbr_M;
cout << " " << endl;
cout << "

[]Entrer le nombre de Mur[]" << endl;

cout << "

Nombre de mur = " ;

cin >> Nbr_M;

for(int i=1; i<=Nbr_M; i++)


{
cout << " " << endl;
cout << " " << endl;
cout<<"

[] Dimensions du Mur numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur du Mur ("<<i<<") = " ;

cin >> Long_Mur;


cout<<"

Hauteur du Mur ("<<i<<") = " ;

cin >> Largeur_Mur;


Surface_Mur = (Long_Mur * Largeur_Mur)+ Surface_Mur ;
cout << " " << endl;
cout << " " << endl;
}
return (Surface_Mur);
}

double Maison :: Calcul_Surface_Enduit ()


{

Jean-Paul / Projet dinformatique

double Long_Enduit, Largeur_Enduit;


int Nbr_E;
cout << "

[]Entrer le nombre de Surface enduite[]" << endl;

cout << "

Nombre de surface enduite = " ;

cin >> Nbr_E;


cout << " " << endl;
cout << " " << endl;
for(int i=1; i<=Nbr_E; i++)
{
cout<<"

[] Dimensions de la Surface enduite numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la surface ("<<i<<") = " ;

cin >> Long_Enduit;


cout<<"

Hauteur de la surface ("<<i<<") = " ;

cin >> Largeur_Enduit;


Surface_Enduit_mortier = (Long_Enduit * Largeur_Enduit)+ Surface_Enduit_mortier ;
cout << " " << endl;
cout << " " << endl;
}
return (Surface_Enduit_mortier);
}

double Maison :: Calcul_Surface_Peinture ()


{
double Long_Peinture , Largeur_Peinture;
int Nbr_Pe;
cout << "
cout << "

[]Entrer le nombre de Surface peinte[]" << endl;


Nombre de surface peinte = " ;

cin >> Nbr_Pe;


cout << " " << endl;
cout << " " << endl;
for(int i=1; i<=Nbr_Pe; i++)

Jean-Paul / Projet dinformatique

{
cout<<"

[]Dimensions de la Surface peinte numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la surface ("<<i<<") = " ;

cin >> Long_Peinture;


cout<<"

Largeur de la surface ("<<i<<") = " ;

cin >> Largeur_Peinture;


Surface_Peinture = (Long_Peinture * Largeur_Peinture)+ Surface_Peinture ;
cout << " " << endl;
cout << " " << endl;
}
return (Surface_Peinture);
}

double Maison :: Calcul_Surface_Carreaux ()


{
double Long_Carreaux ,Largeur_Carreaux;
int Nbr_C;

cout << "

[]Entrer le nombre de Surface carrelee[]" << endl;

cout << "

Nombre de surface carrelee = " ;

cin >> Nbr_C;


cout << " " << endl;
cout << " " << endl;
for(int i=1; i<=Nbr_C; i++)
{
cout<<"

[]Dimensions de la Surface Carrelee numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la surface ("<<i<<") = " ;

cin >> Long_Carreaux;


cout<<"

Largeur de la surface ("<<i<<") = " ;

Jean-Paul / Projet dinformatique

cin >> Largeur_Carreaux;


Surface_Carreaux = (Long_Carreaux * Largeur_Carreaux)+ Surface_Carreaux ;
cout << " " << endl;
cout << " " << endl;
}
return (Surface_Carreaux);
}

double Maison :: Calcul_Surface_Porte ()


{
double Long_Porte , Largeur_Porte;
int Nbr_Por;

cout << "

[]Entrer le nombre de portes[] " << endl;

cout << "

Nombre de porte = " ;

cin >> Nbr_Por;


cout << " " << endl;
for(int i=1; i<=Nbr_Por; i++)
{
cout << " " << endl;
cout<<"

[]Dimensions de la Porte numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Hauteur de la Porte ("<<i<<") = " ;

cin >> Long_Porte;


cout<<"

Largeur de la Porte ("<<i<<") = " ;

cin >> Largeur_Porte;


Surface_Porte = (Long_Porte * Largeur_Porte)+ Surface_Porte ;
cout << " " << endl;
cout << " " << endl;
}

Jean-Paul / Projet dinformatique

return (Surface_Porte);
}

double Maison :: Calcul_Surface_Fenetre ()


{
double Long_Fenetre , Largeur_Fenetre;
int Nbr_F;
cout << " " << endl;
cout << "

[]Entrer le nombre de fenetre[] " << endl;

cout << "

Nombre de fenetre = " ;

cin >> Nbr_F;


cout << " " << endl;
for(int i=1; i<=Nbr_F; i++)
{
cout << " " << endl;
cout<<"

[]Dimensions de la Fenetre numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la fenetre ("<<i<<") = " ;

cin >> Long_Fenetre;


cout<<"

Largeur de la fenetre ("<<i<<") = " ;

cin >> Largeur_Fenetre;


Surface_Fenetre = (Long_Fenetre * Largeur_Fenetre)+ Surface_Fenetre ;
cout << " " << endl;
cout << " " << endl;
}
return (Surface_Fenetre);
}

double Maison :: Calcul_Volume_Beton_Poutre()


{

Jean-Paul / Projet dinformatique

double Long_Poutre,Largeur_Poutre ,Hauteur_Poutre;


int Nbr_Pou;
cout << "

[]Entrer le nombre de Poutre[] " << endl;

cout << "

Nombre de poutre = " ;

cin >> Nbr_Pou;


cout << " " << endl;
for(int i=1; i<=Nbr_Pou; i++)
{
cout << " " << endl;
cout<<"

[]Dimensions de la Poutre numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la Poutre ("<<i<<") = " ;

cin >> Long_Poutre;


cout<<"

Largeur de la Poutre ("<<i<<") = " ;

cin >> Largeur_Poutre;


cout<<"

Hauteur de la Poutre ("<<i<<") = " ;

cin >> Hauteur_Poutre;


Volume_Beton_Poutre = (Long_Poutre * Largeur_Poutre * Hauteur_Poutre)+ Volume_Beton_Poutre ;
cout << " " << endl;
cout << " " << endl;
}
return (Volume_Beton_Poutre);
}

double Maison :: Calcul_Volume_Beton_Poteau ()


{
double Long_Poteau ,Largeur_Poteau,Hauteur_Poteau;
int Nbr_Pot ;
cout << "
cout << "

[]Entrer le nombre de Poteau[] " << endl;


Nombre de poteau = " ;

cin >> Nbr_Pot;

Jean-Paul / Projet dinformatique

cout << " " << endl;


for(int i=1; i<=Nbr_Pot; i++)
{
cout << " " << endl;
cout<<"

[]Dimensions du Poteau numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Premiere dimension du Poteau ("<<i<<") = " ;

cin >> Long_Poteau;


cout<<"

Deuxieme dimension du Poteau ("<<i<<") = " ;

cin >> Largeur_Poteau;


cout<<"

Hauteur

du Poteau ("<<i<<") = " ;

cin >> Hauteur_Poteau;


Volume_Beton_Poteau = (Long_Poteau * Largeur_Poteau * Hauteur_Poteau) +Volume_Beton_Poteau ;
cout << " " << endl;
cout << " " << endl;
}
return (Volume_Beton_Poteau);
}

double Maison :: Calcul_Volume_Beton_Dalle ()


{
double Long_Dalle,Largeur_Dalle,Hauteur_Dalle;
int Nbr_D ;

cout << "


cout << "

[]Entrer le nombre de Dalle[] " << endl;


Nombre de Dale = " ;

cin >> Nbr_D;


cout << " " << endl;
for(int i=1; i<=Nbr_D; i++)
{
cout << " " << endl;

Jean-Paul / Projet dinformatique

cout<<"

[]Dimensions de la Dalle numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Premire dimension de la Dalle ("<<i<<") = " ;

cin >> Long_Dalle;


cout<<"

Deuxime dimension de la dalle ("<<i<<") = " ;

cin >> Largeur_Dalle;


cout<<"

Hauteur de la Dalle ("<<i<<") = " ;

cin >> Hauteur_Dalle;


Volume_Beton_Dalle = (Long_Dalle * Largeur_Dalle * Hauteur_Dalle )+ Volume_Beton_Dalle ;
cout << " " << endl;
cout << " " << endl;
}
return (Volume_Beton_Dalle);
}

double Maison :: Calcul_Volume_Beton_Semelle ()


{
double Long_Semelle,Largeur_Semelle,Hauteur_Semelle;
int Nbr_S;

cout << "

[]Entrer le nombre de Semelle[] " << endl;

cout << "

Nombre de Semelle = " ;

cin >> Nbr_S;


cout << " " << endl;
for(int i=1; i<=Nbr_S; i++)
{
cout << " " << endl;
cout<<"

[]Dimensions de Semelle numero ("<<i<<")" <<endl;

cout << " " << endl;


cout<<"

Longueur de la Semelle ("<<i<<") = " ;

cin >> Long_Semelle;

Jean-Paul / Projet dinformatique

cout<<"

Largeur de la Semelle ("<<i<<") = " ;

cin >> Largeur_Semelle;


cout<<"

Hauteur de la Semelle ("<<i<<") = " ;

cin >> Hauteur_Semelle;


Volume_Beton_Semelle = (Long_Semelle * Largeur_Semelle * Hauteur_Semelle )+Volume_Beton_Semelle;
cout << " " << endl;
cout << " " << endl;
}
return (Volume_Beton_Semelle);
}
void Maison:: Affiche_Maison ()
{
cout<<" Surface_Mur = "<< Surface_Mur << endl ;
cout<<" Surface_Enduit_mortier = "<< Surface_Enduit_mortier <<endl ;
cout<<" Surface_Peinture ; = "<<Surface_Peinture <<endl ;
cout<<" Surface_Carreaux = "<<Surface_Carreaux <<endl ;
cout<<" Surface_Fenetre = "<<Surface_Fenetre <<endl ;
cout<<" Volume_Beton_Poutre= "<< Volume_Beton_Poutre<<endl ;
cout<<" Volume_Beton_Poteau = "<< Volume_Beton_Poteau <<endl ;
cout<<" Volume_Beton_Dalle = "<< Volume_Beton_Dalle<<endl;
cout<<" Volume_Beton_Semelle ;= "<< Volume_Beton_Semelle<<endl;
}

int main()
{
cout <<
cout << "

" " << endl;


Jean-paul AGBOH : Metre de Batiment" << endl;

Maison SallePolyvalente ;
SallePolyvalente.Calcul_Surface_Mur();
SallePolyvalente.Calcul_Surface_Enduit();
SallePolyvalente.Calcul_Surface_Peinture();

Jean-Paul / Projet dinformatique

SallePolyvalente.Calcul_Surface_Carreaux();
SallePolyvalente.Calcul_Surface_Porte();
SallePolyvalente.Calcul_Surface_Fenetre();
SallePolyvalente.Calcul_Volume_Beton_Poutre();
SallePolyvalente.Calcul_Volume_Beton_Poteau();
SallePolyvalente.Calcul_Volume_Beton_Dalle();
SallePolyvalente.Calcul_Volume_Beton_Semelle();
SallePolyvalente.Affiche_Maison();
return 0;
}

Jean-Paul / Projet dinformatique