我们怎样才能让两个输入出现在同一行?

时间:2011-05-02 17:38:51

标签: visual-c++

在c ++中,如果我们让程序从用户那里获取输入,那么它就是一个整数或字符。

在输入之后,下一个输出或下一个输入将自动写入下一行。

#include <iostream>

int main()
{
    int a,b;
    std::cout<<"Enter two numbers to add\n";
    std::cin>>a;
    std::cin>>b;
    std::cout<< a+b;
}

输出就像这样

Enter two numbers to add
3
5
8

我希望3和5写在同一行..

2 个答案:

答案 0 :(得分:1)

您正在寻找的词称为“解析”。您将整个输入作为1变量,并使用适合您的任何方法将其拆分。某些编程语言有一些内置方法,可根据您提供的值将字符串输入分解为数组。您可能需要查看:Split a string in C++?

答案 1 :(得分:0)

输入显示在两条单独的行上与您的程序无关;这是因为,在输入输入时,您在<Enter>之后按了3。生成的换行符由您的终端/控制台呈现,而不是您的程序。

使用istream::operator>>( int )会自动跳过前导空格。因此,您的用户也可以在一行上编写 3 5std::cin>>a;将使用3,而std::cin>>b;会跳过该空格并使用5。您的终端/控制台将如下所示:

Enter two numbers to add
3 5
8

请注意,这与您的程序代码完全无关。如果用户在数字之间按下<Enter>,那么除了接管终端/控制台的完全控制之外,你无能为力。

可以完成,在Windows上使用_getch(),在许多其他系统上使用ncurses,或者使用相关操作系统提供的任何内容。您将直接读取按键,而终端/控制台不会回显输入的内容。然后你将负责回声,行编辑等。

但这是一个完全不同的问题。