2016-03-16 93 views
-1

我使用void FillVector來填充由用戶插入的值的矢量,並且想要將用戶插入的數量限制爲10,如果他們要插入的數量更多,它仍然需要前10個。但由於某種原因,除非插入第11個值,否則腳本將無法工作,只有這樣才能處理前十個數字。爲什麼當用戶在輸入前10個值後按Enter鍵時,它不執行while命令?如何限制矢量的輸入量?

#include <iostream> 
using namespace std; 

void fillVector(vector<int>& newVectorQuantities) 
{ 
cout << "Please type in your list of 10 numbers separated by a space." 
int input; 
cin >> input; 

while (newVectorQuantities.size() < 10) { 
newVectorQuantities.push_back(input); 
cin >> input; 
} 
} 
+0

使用'do while'循環代替 – redFIVE

+0

C++不是腳本語言 – Amit

+0

@Amit您的評論與此問題的關係如何? – redFIVE

回答

0

推10號,執行cin >> input;等那個完成,然後繼續。換句話說,代碼按其執行順序執行。