一个读取问题 我实在没分了 不好意思。
请问
int golf[5];
for (int i = 0; i < 5 ; i++)
{
cout < < "round # " < <(i+1) < < ": ";
while (!(cin> > golf[i]))
{
cin.clear (); // 重直input
//清除错误的input
cout < < "Please enter a number "
}
这个代码中 while (cin.get ()!= '\n ')
是怎么起到一个删除错误输入的作用的?
比如说 我输入
1
2
3
nice
到nice的时候会进入内部的while循环
然后 cin.clear (); 重直input
接着
while (cin.get ()!= '\n ')
continue;
我把它理解为 一直读到换行符号为止
那么请问 那么开始读的n i c e这4个字符去哪里了呢?
删除了? 就这样把队列里面清空了吗?
[解决办法]
代码没贴完整啊。
不要用while (cin.get ()!= '\n ')
continue;
直接用
cin.clear (); // 重直input
cin.sync(); //清除错误的input
cout < < "Please enter a number "