Programme 4 : Calculer la paye V1.0

text/x-c++src calculer_la_paye_V1.cpp — 5.1 KB

Contenu du fichier

/**
  \file  paye.cpp

  \brief Programme qui calcule le salaire brut et le salaire net
  d'un employe connaissant son nombre d'heures travaillees et
  le taux horaire correspondant. Une taxe de $25 s'applique
  pour tout gain inferieur a $250. Un taux de taxation de 10%
 s'applique pour tout gain inferieur a $750. Un taux de
 taxation de 15% s'applique sur l'excedent de $750, le cas
 echeant.

     \author : Gerard Houdeville
     \date Date de creation : 16-septembre-94
     \date Date de modification : 17 septembre 2013

     \b Entree :
            - Nombre d'heures travaillees
            - Taux horaire
     \b Sortie :
            - Salaire brut
            - Salaire net
*/
#include <iostream>

using namespace std;

int main()
{
  //fonctions utilisees
  void mode_emploi(const float, const float, const float,
        	    const float, const float) ;
     // taxe minimale, premier seuil, second seuil
     // premier taux, second taux
  float salaire_brut(float, float) ;
     // nombre d'heures, taux horaire
  float salaire_net(float, const float, const float,
        	    const float,const float, const float) ;
    // salaire brut, taxe minimale, premier seuil, second
    // seuil, premier taux, second taux

  //constantes locales
  const float TAXE_MIN = 25.0 ; //taxe minimale
  const float SEUIL1 = 250.0 ;  //premier seuil de taxation
  const float SEUIL2 = 750.0 ;  //second seuil de taxation
  const float TAUX1 = 10.0 ;    //premier taux de taxation
  const float TAUX2 = 15.0 ;	//second taux de taxation

  //variables locales
  float heures ;	  //nombre d'heures travaillees
  float taux_hor ;	  //taux horaire
  float brut ;  	  //salaire brut
  float net ;		  //salaire net

  //afficher le mode d'emploi pour l'usager
  mode_emploi(TAXE_MIN, SEUIL1, SEUIL2, TAUX1, TAUX2);

  //Obtenir les donnees: nombre d'heures et taux horaire
  cout << "Nombre d'heures travaillees par l'employe: " ;
  cin >> heures ;
  cout << "Taux horaire pour cet employe: " ;
  cin >> taux_hor ;

  //Calculer le salaire brut
  brut = salaire_brut(heures, taux_hor) ;

  //Calculer le salaire net
  net=salaire_net(brut,TAXE_MIN,SEUIL1,SEUIL2,TAUX1,TAUX2);

  //Afficher les salaires brut et net
  cout << endl << endl << "Le salaire brut de l'employe est: $"
       << brut << endl ;
  cout << endl <<"le salaire net de cet employe est : $"
       << net << endl ;
}

/**
/*
 \brief Fonction qui affiche le mode d'emploi du programme
  a son utilisateur

     \author : Gerard Houdeville
     \date Date de creation : 16-septembre-94
     \date Date de modification :

  \param[in]  montant de la taxe minimale
  \param[in]  niveau du premier seuil de taxation
  \param[in]  niveau du second seuil de taxation
  \param[in]  taux de la taxe a partir du premier seuil
  \param[in]  taux de la taxe a partir du second seuil

*/

void mode_emploi(const float MINIMUM, const float MONTANT1,
                 const float MONTANT2, const float TAUX1,
		 const float TAUX2)
{
  cout<<"Ce programme calcule le salaire brut et le salaire "
      << endl ;
  cout << "net d'un employe. Une taxe fixe de $"
       << MINIMUM << " est imposee " << endl ;
  cout << "pour tout salaire brut inferieur a $"
       << MONTANT1 << " . " << endl ;
  cout << "Une taxe de " << TAUX1
       << "% est imposee pour tout salaire " << endl ;
  cout << "brut compris entre $" << MONTANT1 << " et $"
       << MONTANT2 << " ." << endl ;
  cout <<  "De plus une taxe de " << TAUX2 << "% est imposee "
       << endl ;
  cout << "sur l'exedent de $" << MONTANT2 << " ." << endl
       << endl ;
  cout << "Vous devez entrer le nombre d'heures travaillees "
  	  << endl ;
  cout << "ainsi que le taux horaire lorsque demande par le "
      << endl ;
  cout << "programme. Faites <return> apres l'introduction de"
       << endl << " chaque valeur." << endl << endl ;
}

/**
 \brief Fonction qui calcule le salaire brut

  \author Gerard Houdeville
  \date  Date de creation : 16-septembre-94
  \date  Date de modification : 17 septembre 2013

  \param[in] nombre d'heures travaillees
  \param[in] taux horaire
  \param[out] salaire brut
*/

float salaire_brut(float nombre, float taux_horaire)
{
        return (nombre * taux_horaire) ;
}


/**
 \brief Fonction qui calcule le salaire net

  \author Gerard Houdeville
   \date   Date de creation : 16-septembre-94
   \date   Date de modification :

   \param[in]  salaire brut
   \param[in]  taxe minimale
   \param[in]  premier seuil d'imposition
   \param[in]  second seuil d'imposition
   \param[in]  taux de la premiere imposition
   \param[in]  taux de la seconde imposition

   \param[out] salaire net
*/

float salaire_net(float sal_brut, const float TAXE_M,
                  const float IMPOS1, const float IMPOS2,
		  const float TAUX1, const float TAUX2)
{
   const float POURCENTAGE = 100;
   float deduction ;	   //montant de taxe a payer
   if ( sal_brut < IMPOS1 )
  	   deduction = TAXE_M ;
   else
       if (sal_brut < IMPOS2)
           deduction = sal_brut * TAUX1 / POURCENTAGE ;
       else
           deduction = (IMPOS2 * TAUX1 /POURCENTAGE ) +
  		       ((sal_brut -IMPOS2) * TAUX2 / POURCENTAGE) ;
   return ( sal_brut - deduction) ;
}