c++怎样清空缓冲区
#include<iostream.h>main(){chara,zx='y';while(zx=='y'){cout<<"请输入a的值:";cin>>a;if(a%2=...
#include<iostream.h>
main()
{char a,zx='y';
while(zx=='y'){
cout<<"请输入a的值:";
cin>>a;
if(a%2==0)cout<<"a是偶数:"<<'\n';
if(a%2==1)cout<<"a是奇数:"<<'\n';
cout<<"继续?按 y 或者 n \n";
cin>>zx;
}
}
这个直接考到C++就可以显示汉字
#include<iostream.h>
main()
{char a,zx='y';
while(zx=='y'){
cout<<"ÇëêäèëaμÄÖμ:";
cin>>a;
if(a%2==0)cout<<"aêÇÆæêy:"<<'\n';
if(a%2==1)cout<<"aêÇżêy:"<<'\n';
cout<<"¼ìDø? °′y »òÕß n\n";
cin>>zx;
}
}
我想用zx的值判断循环是否继续 每次循环都要扫描一次zx的值 扫描字符前是不是要清空缓冲区 用什么语句清空呢
fflush(stdin)输入后运行 说是undeclared identifier
是不是有个库函数没包括 #include<???.h>
c语言中不清楚就会把回车输入到字符型 c++看着也像是因为那个原因 我用的是VC++6.0 http://zhidao.baidu.com/question/111299352.html 展开
main()
{char a,zx='y';
while(zx=='y'){
cout<<"请输入a的值:";
cin>>a;
if(a%2==0)cout<<"a是偶数:"<<'\n';
if(a%2==1)cout<<"a是奇数:"<<'\n';
cout<<"继续?按 y 或者 n \n";
cin>>zx;
}
}
这个直接考到C++就可以显示汉字
#include<iostream.h>
main()
{char a,zx='y';
while(zx=='y'){
cout<<"ÇëêäèëaμÄÖμ:";
cin>>a;
if(a%2==0)cout<<"aêÇÆæêy:"<<'\n';
if(a%2==1)cout<<"aêÇżêy:"<<'\n';
cout<<"¼ìDø? °′y »òÕß n\n";
cin>>zx;
}
}
我想用zx的值判断循环是否继续 每次循环都要扫描一次zx的值 扫描字符前是不是要清空缓冲区 用什么语句清空呢
fflush(stdin)输入后运行 说是undeclared identifier
是不是有个库函数没包括 #include<???.h>
c语言中不清楚就会把回车输入到字符型 c++看着也像是因为那个原因 我用的是VC++6.0 http://zhidao.baidu.com/question/111299352.html 展开
5个回答
推荐于2017-09-26 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
每个IO对象管理一个缓冲区,如cin管理一个输入缓冲区, cout管理一个输出缓冲区。
使用cout输出hello,刷新了对应的输出缓冲区,对输入缓冲区没有影响,输入缓冲区里没有被读取的内容可以继续读取。
使用cout输出hello,刷新了对应的输出缓冲区,对输入缓冲区没有影响,输入缓冲区里没有被读取的内容可以继续读取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fflush(stdin)
如果按照要求输入的话 不用清
输入a之后还有其他值误输 把他加在cin>>zx;之前
我的2008 直截在std下就能用
加个#include<stdlib.h> 试试
如果按照要求输入的话 不用清
输入a之后还有其他值误输 把他加在cin>>zx;之前
我的2008 直截在std下就能用
加个#include<stdlib.h> 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是要清空输出流的话,方法很多,最常见的
如<<endl执行时,就会清除一次输出流。还有其他方式,如:
1.
程序结束时。
2.
缓存区满了
3.
或者将输入输出流关联起来,用tie操作符,cin.tie(&cout)
4.
用unitbuf操作符清空缓存区,cout
<<
unitbuf
如<<endl执行时,就会清除一次输出流。还有其他方式,如:
1.
程序结束时。
2.
缓存区满了
3.
或者将输入输出流关联起来,用tie操作符,cin.tie(&cout)
4.
用unitbuf操作符清空缓存区,cout
<<
unitbuf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要清除,因为调用cin>>zx;语句时已经刷新了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询