在textmate中使用cin和cout

时间:2011-11-20 16:10:17

标签: c++ textmate

我通常是一名Java程序员,几乎完全使用textmate,但最近我开始使用C ++。但是当我使用最基本的程序并加入 cin 关键字并运行程序时,我在运行时没有任何机会投入任何东西,有时它会自动插入随机值!例如,如果我在textmate中运行它:

#include <iostream>

int stonetolb(int);

int main() {

    using namespace std;
    int stone;
    cout << "enter the weight in stone";
    cin >> stone;
    int pounds = stonetolb(stone);
    cout << stone << "stone = ";
    cout << pounds <<" pounds.";
    return 0;
}

int stonetolb(int sts) {

        return 14 * sts;
}

我会提出输出:

  

输入stone32767stone = 458738磅的重量。

为什么会发生这种情况,如何阻止它?

1 个答案:

答案 0 :(得分:2)

最有可能的是,输入语句cin >> stone失败,而stone具有未定义的值。您需要使用if (cin >> stone) { ... } else { // input failure }检查输入失败。至于为什么这样一个简单的程序会表现出失败的行为,我不知道 - 你必须检查textmate文档。