博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
while(cin)?
阅读量:5363 次
发布时间:2019-06-15

本文共 1373 字,大约阅读时间需要 4 分钟。

#include
#include
using namespace std;int main(){ int i; do { cout<
<
>i);}

首先输出个0.之后输入X,输出X;当输入ctrl+d时,没有输出,结束。

#include
#include
using namespace std;int main(){ int i; do{ cin>>i; cout<
<

输入x,输出x;当输入ctrl+d时,再输出个上一次的输入量,结束。

ctrl+d表示表示输入错误。

cin.clear()可以重新将cin置为有效。

 

导致循环终止的原因是流对象cin进入错误状态:系统输入级故障;读入了无效数据;遇到文件结束符。

下面是一个用到cin判断作为循环条件的程序:

#include
#include
#include
#include
using namespace std;int main(){ map
< pair
> > family; pair
pa; string surName,childName,birthDate; do{ cout<<"enter surname"<
>surName; if(!cin) break; //如果cin无效,跳出循环 vector< pair
> child; pair
> >::iterator,bool> ret = family.insert(make_pair(surName,child)); cout<<"input name and age"<
>surName>>birthDate) { pair
pa; pa = make_pair(surName,birthDate); ret.first->second.push_back(pa); //ctrl+d跳出循环,此时cin无效 } cin.clear(); //使cin重新有效,以达到下面while循环条件。 }while(cin); cout<<"enter search"<
>surName; map
< pair
> >::iterator it = family.find(surName); if(it==family.end()) cout<<"no this surname"<
>::iterator itt = it->second.begin(); while(itt!=it->second.end()) { cout<<(*itt).first<<"\t\t"<<(*itt).second<

 

转载于:https://www.cnblogs.com/little-white/p/3594384.html

你可能感兴趣的文章
线段重叠 (思维好题)
查看>>
Codeforces Round #413 C. Fountains (线段树的创建、查询、更新)
查看>>
SBuild 0.1.5 发布,基于 Scala 的构建系统
查看>>
WordPress 3.5 RC3 发布
查看>>
DOM扩展札记
查看>>
primitive assembly
查看>>
根据经纬度查询位置百度api
查看>>
浅谈localStorage的用法
查看>>
Ad Exchange基本接口和功能
查看>>
Angular ui-router的常用配置参数详解
查看>>
软考知识点梳理--项目评估
查看>>
把特斯拉送上火星的程序员,马斯克!
查看>>
三测单
查看>>
MyBatis 缓存
查看>>
SQL中left outer join与inner join 混用时,SQL Server自动优化执行计划
查看>>
mac下python实现vmstat
查看>>
jxl.dll操作总结
查看>>
GBT MBR
查看>>
MUI之安卓点击返回键提示退出应用APP 等....
查看>>
写xml时候的一个坑
查看>>