int userInput = 0;
vector<int> userVector;
cout << "Input the numbers you would like in the vector. " << endl;
bool flag = true
while (flag == true)
{
cin >> userInput;
}
我希望程序要做的是,用户在向量中输入数字,直到它们满足它为止。我认为停止循环的条件可能是键入任何字符/字符串,但为了简化矢量,也许它可能是“不”,“退出”或“只是”。我也不确定如何将userInput集成到向量中。
答案 0 :(得分:2)
while (cin >> userInput) {
// ...
}
当输入结束或提取失败时,此循环将停止。
答案 1 :(得分:2)
我尝试了一种不同的方法,并以字符串形式输入。它允许更强大的错误处理,以及允许终止输入值。
std::string userInput;
std::vector<int> userVector;
std::cout << "Input the numbers you would like in the vector (Q to quit). " << std::endl;
while (getline(cin, userInput))
{
// Ignore blank lines
if (userInput.empty())
continue;
if (userInput[0] == 'Q' || userInput[0] == 'q')
break;
try
{
userVector.push_back(stoi(userInput));
}
catch (const std::invalid_argument&)
{
std::cout << "That's not a valid number!" << std::endl;
}
}