confused with cin in C++

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Ruan

    confused with cin in C++

    This is a small program in C++. I want to try to type in real number instead
    of integer to see how the program runs.
    And I am confused. If I input integer for both variables, the program runs
    fine. But if I input a real number for the height (like 68.2), the second
    cin doesn't work at all!!

    I expected any real number will be truncated and that is my only
    expectation. But it seems that there are other problems. Can anybody try it?



    #include <iostream>
    using namespace std;

    int main(void)
    {
    const double INCHES_PER_METE R = 39.37;
    const double POUNDS_PER_KG = 2.24;

    int height;
    int weight;

    cout << "METRIC CONVERTER" << endl << endl ;
    cout << "Enter your height in inches " ;
    cout << "(No fractions, please!) : " ;
    cin >height;

    cout << "Enter your weight in pounds" ;
    cout << "(No fractions, please!)" ;
    cin >weight;
    cout << endl ;

    double metric_height = height/INCHES_PER_METE R;

    double metric_weight = weight/POUNDS_PER_KG;


    cout << "Your height is " << metric_height << " meters." << endl;
    cout << "Your weight is " << metric_weight << " kilograms." << endl;

    return 0;
    }


  • Bo Persson

    #2
    Re: confused with cin in C++

    John Ruan wrote:
    This is a small program in C++. I want to try to type in real
    number instead of integer to see how the program runs.
    And I am confused. If I input integer for both variables, the
    program runs fine. But if I input a real number for the height
    (like 68.2), the second cin doesn't work at all!!
    >
    The input is originally text, which is scanned for digits that can be
    part of an integer. The first input reads a 6 and an 8, and gives you
    the number 68.

    When you try to read a second integer, the first character found is a
    period, which is an error for integers. You get no number.



    Bo Persson


    Comment

    Working...