首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个读取有关问题 小弟我实在没分了 不好意思

2012-02-13 
一个读取问题 我实在没分了 不好意思。请问intgolf[5]for(inti0i5i++){cout round# (i+1)

一个读取问题 我实在没分了 不好意思。
请问
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 "

热点排行