65,210
社区成员
发帖
与我相关
我的任务
分享
[/quote]
)
还有请问cin的状态标示符和缓存区的数据流都是啥 为啥要用这2个 查不到
[/quote]
就应该这样啊,你没有输入正确的正整数,所以让你重复输入啊
(↑不是 我是说它第一遍的时候叫人重新输入的那个自己出现了两次0.0后面才是一次)
cin.clear();是用来更改cin的状态标示符的。因为之前读错已经产生了一个错误状态--cin.fail().
cin.sync();是用来清除缓存区的数据流的。清除输入缓冲区中错误的数据[/quote]
(↑谢谢
)
[/quote]
就是想问为啥它会是2排 有没有办法去掉一排0.0
还有请问cin的状态标示符和缓存区的数据流都是啥 为啥要用这2个 查不到
[/quote]
就应该这样啊,你没有输入正确的正整数,所以让你重复输入啊
(↑不是 我是说它第一遍的时候叫人重新输入的那个自己出现了两次0.0后面才是一次)
cin.clear();是用来更改cin的状态标示符的。因为之前读错已经产生了一个错误状态--cin.fail().
cin.sync();是用来清除缓存区的数据流的。清除输入缓冲区中错误的数据[/quote]
(↑谢谢
)
[/quote]
就是想问为啥它会是2排 有没有办法去掉一排0.0[/quote]
你把你cout后面那个\n去掉呗
还有请问cin的状态标示符和缓存区的数据流都是啥 为啥要用这2个 查不到
[/quote]
就应该这样啊,你没有输入正确的正整数,所以让你重复输入啊
(↑不是 我是说它第一遍的时候叫人重新输入的那个自己出现了两次0.0后面才是一次)
cin.clear();是用来更改cin的状态标示符的。因为之前读错已经产生了一个错误状态--cin.fail().
cin.sync();是用来清除缓存区的数据流的。清除输入缓冲区中错误的数据[/quote]
(↑谢谢
)
还有请问cin的状态标示符和缓存区的数据流都是啥 为啥要用这2个 查不到
[/quote]
就应该这样啊,你没有输入正确的正整数,所以让你重复输入啊
cin.clear();是用来更改cin的状态标示符的。因为之前读错已经产生了一个错误状态--cin.fail().
cin.sync();是用来清除缓存区的数据流的。清除输入缓冲区中错误的数据

while(int(num/10000)!=0)
{
cout << "请输入一个不多于5位的正整数:";
cin>>num;
cin.clear();
cin.sync();
}