2014-09-20 7 views
2

Je travaille actuellement sur un projet pour ma classe C++ et j'ai rencontré un problème que je n'arrive pas à résoudre seul. Je crée un programme de conversion de poids qui demande à l'utilisateur de saisir son poids (en kilogrammes), et de sortir son poids en livres ainsi que le poids entré en kilogrammes (tous deux arrondis à 2 décimales).Problème de sortie de conversion de poids

Voici mon code:

#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() 
{ 
    //Declarations 
    double kg = 0.0; 
    double lbs = 0.0; 
    double conversionRate = 2.2; 

    //INPUT 
    cout << "Enter Your Weight (kilograms): "; 
    cin >> kg; 

    //PROCESS 
    lbs = (kg * conversionRate); 

    //OUTPUT 
    cout << "Weight Entered: " << setprecision(2) << kg << " Kg" << endl; 
    cout << "Converts to: " << setprecision(2) << lbs << " lbs" << endl; 

    cout << "\n\n"; 
    system("pause"); 
    return 0; 
} 

Ceci est la sortie que je reçois pour livres:

enter image description here

Ce sont les valeurs des variables lors du débogage:

enter image description here

Je ne peux pas voir m pour comprendre pourquoi il sort les données qui sont montrées dans la capture d'écran, et pourquoi ne montre-t-il pas aussi bien les décimales sur le kg?

Toute aide est appréciée!

Répondre

2

Vous devez utiliser fixed.

Soit faire un

cout.precision(2); 
cout << "Weight Entered: " << fixed << kg << " Kg" << endl; 
cout << "Converts to: " << fixed << lbs << " lbs" << endl; 

ou plus comme vous l'avez fait

cout << "Converts to: " << fixed << setprecision(2) << lbs << " lbs" << endl; 

Ceci produit à:

Poids Entrée: 63,5028 enter image description here

There is a linked case here linked to this case

Cheers Stian

+1

Brillant! Merci beaucoup. – Meta

1

Vous voulez faire

Cout < < fixe < < showpoint < < SetPrecision (2) < < lbs < < "lbs" < < endl;

+0

+1 marquer celui-ci comme réponse. J'ai édité mon post. –