按键发送输出

时间:2013-07-26 06:02:38

标签: c++

我写了一个简单的C ++程序,它显示了一个数学表:

#include <iostream>
using namespace std;
int main()
{
    int number, result, var=0;
    cout << "Enter number to generate table:";
    cin >> number;
    while (var < number*10)
    {
        result = number + var;
        cout << "\n" << result;
        var += number;
    }
    cin>>var;
    return 0;
}

因此,当用户键入一些数字(例如22)并在控制台窗口中点击 Enter 时,表格将生成。但我希望在用户输入数字时立即显示结果。不应要求用户点击 Enter

如果没有用户点击 Enter ,如何处理输入?

3 个答案:

答案 0 :(得分:3)

来自getch()

<conio.h>,输出已按下的单键的ASCII代码。您可以在之后处理返回的值。像这样:

#include <conio.h>
#include <ctype.h>
int main()
{
    int myVar = 0;
    myVar = getch();
    if (isdigit(myVar))
    {
        myVar = myVar - '0';
    }
    return 0;
}

缺点是getch() 只会读取1个键

答案 1 :(得分:1)

对于没有Enter键的输入,你可以在conio.h中使用getch()函数。 它需要一个输入字符。如果要在控制台上显示(回显)输入,请使用getche() kbhit()是另一个可以检测任何键盘按下的功能..

答案 2 :(得分:0)

在VC ++中,您可以为给定特定输入(var)的项目的LostFocus()实现相同的逻辑,但在C ++中,cin根据Enter键按下控制台中的值,如果您不按Enter键,然后该值不会从Console传递到pgm