Программа останавливается после CIN - PullRequest
0 голосов
/ 19 ноября 2010

Привет, я пишу эту программу, но не могу даже заставить ее начать видеть, есть ли проблемы в другом коде.

У меня есть это:

    int main()
{
    int answer;
    int test;
    cout << "Please Enter the number to be tested: ";
    cin >> test; //Gets number to be tested
        cout << "here";
    answer = factor(test);
    cout << "The answer is:" << answer;
    return 0;
}

сейчас тогда. Он распечатает первый cout, а затем он попадает в cin, берет номер, но затем ничего не делает. Даже не напечатать второй Cout. Есть идеи?

Я довольно новичок и не особо много сделал, поэтому приветствуются любые дополнительные обращения со мной, как с идиотами.: D Спасибо.

Ответы [ 5 ]

3 голосов
/ 19 ноября 2010

Может быть, что-то не так с фактор-функцией? Бесконечный цикл? Тогда cout << «здесь» << endl; (чтобы очистить вывод) следует хотя бы вывести «здесь».

1 голос
/ 19 ноября 2010

Я думаю, << endl; отсутствует в ваших cout строках. Это приводит к тому, что выходной буфер не сбрасывается и на экране ничего не появляется. Хотя это может зависеть от платформы, на которой вы его используете. может работать на некоторых системах, которые постоянно очищают буфер вывода.

int main()
{
int answer;
int test;
cout << "Please Enter the number to be tested: ";
cin >> test; //Gets number to be tested
    cout << "here" << endl;
answer = factor(test);
cout << "The answer is:" << answer << endl;
return 0;
}
0 голосов
/ 01 марта 2016
This is how it work "here " your screen doesnot be static by putting system("pause") you can do it ,on the other hand i have just made the function defination dummi still happen anything check there]


#include<iostream>
using namespace std;
int factor(int x)
{
    return x;
}
int main()
{
    int answer;
    int test;
    cout << "Please Enter the number to be tested: ";
    cin >> test; //Gets number to be tested
    cout << "here";
    answer = factor(test);
    cout << "The answer is:" << answer;

    **system("pause");**


}
0 голосов
/ 11 декабря 2010

Я получил те же результаты, когда нажимал клавишу ввода на клавиатуре сразу после ввода. Если я нажму кнопку возврата, то программа работает нормально. Я думал, что вход и возврат - это одно и то же?

0 голосов
/ 19 ноября 2010

Похоже, программа ожидает ввода на терминале.Как только вы введете ввод и нажмете «Enter», он автоматически рассмотрит ввод, и следующий оператор cout будет работать нормально ... Проверьте сегмент кода ниже ... (ничего не изменено, кроме фиктивной реализации для factor, что не является темойобсуждения здесь)

enter code here

включает

с использованием пространства имен std;

int factor (int t) {return t;}

int main()

{int answer;int test;cout << "Пожалуйста, введите проверяемый номер:";cin >> test;// Получает номер для проверки cout << "here";ответ = фактор (тест);cout << "Ответ:" << ответ;вернуть 0;} </p>

O / p: $ ./a.out Пожалуйста, введите проверяемый номер: 1234 здесь. Ответ: 1234user @ ubuntu: ~ $ ./a.out Пожалуйста, введите проверяемый номер:1234 здесь Ответ: 1234 $

...