используя cin и cout в textmate - PullRequest
0 голосов
/ 20 ноября 2011

Я обычно программист на 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 Ответ

2 голосов
/ 20 ноября 2011

Скорее всего, оператор ввода cin >> stone не выполняется, и камень имеет неопределенное значение.Вам необходимо проверить наличие ошибок ввода с помощью if (cin >> stone) { ... } else { // input failure }.Относительно того, почему такая простая программа демонстрирует некорректное поведение, я не знаю, вам придется проверять документацию textmate.

...