Programme 2 : Consommation automobile

text/x-c++src Consommation automobile.cpp — 2.9 KB

Contenu du fichier

/**
   \file consommation.cpp

   \brief Calcul de consommation d'essence d'une voiture.

   Programme qui calcule a partir d'une distance donnee en kilometres
   et d'une quantite d'essence donnee en litres une consommation
   exprimee en milles au gallon. Si une valeur autre qu'un reel
   positive est donnee pour une des donnees d'entree le comportement
   n'est pas specifie.
   Si la distance est nul, le resultat est aussi nul.
   Si le volume utilisee est nul pour une distance non nul, la
   consommation est consideree comme infinie (ie affichage de la
   constante Inf).
   Si le volume et la distance sont nuls, le resultat est indetermine
   (ie affichage de la constante NaN).
   Le programme a pour valeur de retour 0.

     \author Gerard Houdeville
     \date 19 aout 2006 (derniere version)
     \date 8 janvier 1996 (création)
     \version v1.4 : 19 aout 2006, mise a jour aux normes, Benoit Fraikin
     \version v1.3 : 3 janvier 2004, ajout de documentation, Benoit Fraikin
     \version v1.2 : 16 juillet 2003, modification legere, Gabriel Girard
     \version v1.1 : 8 janvier 1996, modification legere, Gerard Houdeville

    \b Entrées :
    \li (clavier) distance parcourue (reel positif non nul)
    \li (clavier) volume utilise (reel positif non nul)

    \b Sorties
    \li (ecran) consommation (reel positif)

*/

#include <cmath>
#include <iostream>
#include <string>

using namespace std;

/**
  \brief Calcul de consommation d'essence d'une voiture
  */
int main()
{
    // Declaration des constantes
    const float LITRE_A_GALLON = 1/4.54609;       // 0.219969248299; ou  1/4.54609; // constante de conversion
    const float KILOMETRE_A_MILLE =  1/1.609344;  // 0.621371192; ou  1/1.609344;   // constante de conversion

    // Declaration des variables locales
    float distance_kms ;                    //distance parcourue en kms
    float volume_litres ;                   //quantite d'essence en litres
    float distance_milles ;                 //distance parcourue en milles
    float volume_gallons ;                  //quantite d'essence en gallons
    float consommation ;                    //consommation d'essence

    // 1. lecture de la distance et de la quantite sur l'entree standard (clavier)
    cout << endl << "Donner la distance parcourue en kilometres: " ;
    cin >> distance_kms ;
    cout << "Donner la quantite d'essence en litres: " ;
    cin >> volume_litres ;

    // 2. Conversions et calcul de la consommation
    // 2.1 Conversion de la distance en milles
    distance_milles = distance_kms * KILOMETRE_A_MILLE ;
    // 2.2 Conversion du volume en gallons
    volume_gallons = volume_litres * LITRE_A_GALLON ;
    // 2.3 Calcul de la consommation en milles/gallons
    consommation = distance_milles / volume_gallons ;

    // 3. Affichage de la consommation
    cout << endl << "La consommation exprimee en milles au gallon est : " ;
    cout << consommation << endl ;

    // Valeur de retour
    return 0;
}