程序在cin之后停止

时间:2010-11-19 10:16:20

标签: c++ cin

您好,我正在编写此程序,但我甚至无法开始查看其他代码是否存在问题。

我有这个:

    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 个答案:

答案 0 :(得分:3)

也许因子功能有问题?无限循环? 然后cout&lt;&lt; “这里”&lt;&lt; ENDL; (要刷新输出)至少应该打印“here”。

答案 1 :(得分:1)

我猜<< 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;
}

答案 2 :(得分:0)

看起来程序正在等待终端的输入。一旦你提供输入然后按“Enter”它将自动考虑输入和下一个cout语句工作正常... 检查下面的代码段...(没有修改除了因子的虚拟实现,这不是这里讨论的主题)

enter code here

包括

使用namespace std;

int factor(int t){         返回; }

int main()

{     回答;     int test;     cout&lt;&lt; “请输入要测试的号码:”;     cin&gt;&gt;测试; //获取要测试的数字         cout&lt;&lt; “这里”;     答案=因素(测试);     cout&lt;&lt; “答案是:”&lt;&lt;回答;     返回0; }

O / p是: $ ./a.out 请输入要测试的号码:1234 答案是:1234user @ ubuntu:〜$ ./a.out 请输入要测试的号码:1234 这里答案是:1234 $

答案 3 :(得分:0)

当我在输入后立即进入键盘时,我得到了相同的结果。如果我点击返回,那么程序运行正常。我认为输入和返回是一回事吗?

答案 4 :(得分:-1)

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");**


}