C++ 为什么default情况里的回车过滤不掉???
#include <iostream>using namespace std;
int main()
{
int flag=0;
float temp;
char unit;
cout<<"请输入数据格式如x.xx C或x.xx F\n";
cin>>temp>>unit;
cin.ignore(1000,'\n') ;
cout.precision(4);
switch(unit)
{
case'c':;
case'C': temp=1.8*temp+32;unit='F';cout<<temp<<unit<<endl;
break;
case'f':;
case'F':temp=(temp-32)/1.8;unit='C';cout<<temp<<unit<<endl;
break;
default:cerr<<"请输入正确的格式!!!\n";
break;
}
cout<<"输入任意键结束" ;
cin.get();
return 0;
}
我明明用ignore函数过滤了回车, case情况都可以, 但default却没成功, 看了半天也没找到问题...求大神帮助!!!! 本帖最后由 lumber2388779 于 2017-3-7 09:29 编辑
cin.ignore这个只是在cin的时候会过滤掉你指定的字符
对cout和cerr没有作用
http://baike.baidu.com/link?url=zCofrtDIaGh6bDzx-hVtieIeDm1tPZYobcyqzIL2uQwXBrAlHUebyt-cafgTAEtC_0Om-QXbOEp7ftHTAaADzrY1yAvkp9T2YTV5SIyQV2kISUlIN5w-CBpCRCJWfsHZ
参考下百科
页:
[1]