hswangrui 发表于 2017-1-17 20:04:45

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:28:35

本帖最后由 lumber2388779 于 2017-3-7 09:29 编辑

cin.ignore这个只是在cin的时候会过滤掉你指定的字符
对cout和cerr没有作用

http://baike.baidu.com/link?url=zCofrtDIaGh6bDzx-hVtieIeDm1tPZYobcyqzIL2uQwXBrAlHUebyt-cafgTAEtC_0Om-QXbOEp7ftHTAaADzrY1yAvkp9T2YTV5SIyQV2kISUlIN5w-CBpCRCJWfsHZ
参考下百科
页: [1]
查看完整版本: C++ 为什么default情况里的回车过滤不掉???