关于c++cin.get(),读取错误信息,并删除,本人不是很理解,请大神逐行翻译成小白文,附源代码
1for(inti=0;i<5;i++){2cout<<"round#"<<i+<<":";3while(!(cin>>golf[i])){4cin.clear();5w...
1 for(int i=0;i<5;i++){
2 cout<<"round #"<<i+<<" : ";
3 while(!(cin>>golf[i])){
4 cin.clear();
5 while(cin.get()!='\n ') //重点是这句话,不理解,如果cin.get()读取的不为空格,这句话为真,就继续循环,然后continue结束后面的循环体,继续新一轮的循环?,第7行,与5,6,是同一个内部小循环体吗?
6 continue;
7 cout<<"please enter a number : ";}
8 }
5,6,7,是一个小循环体吗, 展开
2 cout<<"round #"<<i+<<" : ";
3 while(!(cin>>golf[i])){
4 cin.clear();
5 while(cin.get()!='\n ') //重点是这句话,不理解,如果cin.get()读取的不为空格,这句话为真,就继续循环,然后continue结束后面的循环体,继续新一轮的循环?,第7行,与5,6,是同一个内部小循环体吗?
6 continue;
7 cout<<"please enter a number : ";}
8 }
5,6,7,是一个小循环体吗, 展开
1个回答
2016-11-02
展开全部
1 for(int i=0;i<5;i++){
//0 --4 循环
2 cout<<"round #"<<i+<<" : ";
//输出 round# i ,i后面+要去掉要不会有问题
3 while(!(cin>>golf[i])){
//如果输入错误
4 cin.clear();
//其默认参数为0,表示无错误,此时如果输入错误用这句,就能将其参数再改为0,以便下次输入
5 while(cin.get()!='\n ') //重点是这句话,不理解,如果cin.get()读取的不为空格,这句话为真,就继续循环,然后continue结束后面的循环体,继续新一轮的循环?,第7行,与5,6,是同一个内部小循环体吗?
//上一句准备好下次输入,这本次就要把以前输入的全部清除缓存
6 continue;
7 cout<<"please enter a number : ";}//..
8 }
//0 --4 循环
2 cout<<"round #"<<i+<<" : ";
//输出 round# i ,i后面+要去掉要不会有问题
3 while(!(cin>>golf[i])){
//如果输入错误
4 cin.clear();
//其默认参数为0,表示无错误,此时如果输入错误用这句,就能将其参数再改为0,以便下次输入
5 while(cin.get()!='\n ') //重点是这句话,不理解,如果cin.get()读取的不为空格,这句话为真,就继续循环,然后continue结束后面的循环体,继续新一轮的循环?,第7行,与5,6,是同一个内部小循环体吗?
//上一句准备好下次输入,这本次就要把以前输入的全部清除缓存
6 continue;
7 cout<<"please enter a number : ";}//..
8 }
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询