2016-09-16 881 views
-5

我正在研究一個程序,但現在我遇到了一個問題,問題是我想輸入兩個數字,但光標在同一行。每當我輸入任何數字,然後按Enter鍵移動到下一行,但我希望它在同一行。如何在同一行中輸入多個輸入?如何在C++的同一行中輸入多個輸入?

+0

控制檯/終端不能這樣工作。你可以使用GNU readline()或NCurses來解決它。或者你可以把你的I/O放在一個GUI中。你可能已經被低估了,因爲這是一個常見的問題,正確的答案几乎總是「不這樣做」。 –

回答

1

您可以簡單地通過級聯運算符cin。如果以這種方式編寫代碼:

int a,b; 
cout << "Enter value of a" << endl; 
cin >> a; 
cout << "Enter value of b" << endl; 
cin >> b; 

那麼程序的執行將是這樣的:

Enter value of a 
10 
Enter value of b 
20 

但要做到這在單行線,你可以這樣寫代碼:

cout << "Enter the values of a and b" << endl; 
cin >> a >> b; //cascading the cin operator 

程序執行現在去從而:

Enter the values of a and b 
10 20 

如果以這種方式輸入兩個值(用空格分隔它們),則它按照您希望的方式工作 - 處於同一行中。
此外,在第一個片段中,如果您刪除endl聲明,您也可以將它全部在一行中,但我不認爲這就是您想要的。

另請參閱:CASCADING OF I/O OPERATORS | easyprograming

+1

我建議使用''n''而不是'std :: endl',因爲你不需要在這裏刷新,因爲'std :: cout'和'std :: cin'在內部耦合。 –

+0

@JanNilsFerner當然。 – progyammer

0

對於兩個可變ab,你可以這樣寫代碼,

cout << "Enter the values of a and b: "; 
cin >> a >> b; 

程序將被執行如下,

Enter the values of a and b: 5 10 
0
cout << "Enter the values of a and b" << endl; 
cin >> a >> b; 

計劃將在此執行格式現在

Enter the values of a and b 
10 20