whileループの条件としてcinを使用しています。ファイルまたは文字の末尾が入力されない限り、整数を受け入れます。コンソールウィンドウは結果の直後に消えます。私は画面を保持することができますどのようにwhileループではC++ cinが使用されていますが、コンソール画面は保持されません
#include<iostream>
using namespace std;
int main() {
int num = 0, sum = 0;
while (cin >> num) {
sum += num;
}
cout << "Sum is: "
<< sum
<< endl;
cout << endl;
cin.get();
return 0;
}
を、あなたは何を意味するか、説明できますホールド? – OutOfBound
ここでの問題は、各数値の後に入力された改行が 'cin.get()'呼び出しによって読み込まれるように入力バッファに残っていることです。あるいは、非数値入力をした場合、そのすべての* all *は次の入力操作で読み込まれます。 –
これは私が最近学んだことですが、std :: cinが保持するバッファはあなたのプログラムを保持したいならば空でなければなりません。 cin.get()はストリームバッファから次の文字を抽出し、次に続行します。あなたのプログラムを保持または一時停止する唯一の理由は、それが空である場合です。その場合、ユーザからの入力を待っています。 – Zebrafish