一种方法是使用一个特殊值来指出输入结束
int fill_array(double ar[], int limit)
{
using namespace std;
double temp;
int i;
for (i = 0; i < limit; i++)
{
cout << "Enter value #" << i + 1 << ":";
cin >> temp;
if (!cin) //bad input
{
cin.clear(); /*标准处理段*/
while (cin.get() != '\n') /**/
continue; /**/
cout << "Bad input;input process terminated.\n";
break; //跳出for循环
}
else if (temp < 0)
break;
ar[i] = temp;
}
return i; //返回实际输入了多少个元素,方便以后处理
}