2016-09-16 9 views
-5

私はプログラムに取り組んでいますが、今は問題が残っています。問題は2つの数字を入力したいのですが、同じ行にカーソルを置きます。数字を入力して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ステートメントを削除すると、1行にすべて含めることもできますが、それはあなたが望むものとは思えません。

CASCADING OF I/O OPERATORS | easyprogramingも参照してください。 2変数abについては

+1

'std :: endl'の代わりに' '\ n''を使うことをお勧めします。なぜなら 'std :: cout'と' std :: cin'が内部的に結合されているのでここでフラッシュする必要がないからです。 –

+0

@JanNilsFernerはい。 – progyammer

0

、あなたは次のように

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 
関連する問題