C++中关于流的概念

怎么从键盘中读取一个整数并包括错误处理

int a;

while (cin.get(ch1)) {
            if (ch1=='\n')
                cout<<"input the right number:";  //第一次输入换行;
            else if (cin.get(ch2),ch2=='\n') {
                a=ch1-'0';
                if (a>0 && a<10)
                    break;
                else
                    cout<<"input the right number:";  //一位数字输入错误;
            }
            else if(cin.get(ch3),ch3=='\n'){
                a=(ch1-'0')*10+ch2-'0';
                if (a>0 && a<16)
                    break;
                else
                    cout<<"input the right number:";  //两位数字输入错误;

            }    
            else {
                cout<<"input the right number:";  //多次输入错误,清除缓冲流;
                while (cin.get(ch3),ch3!='\n')
                    ;
            }
            
            
        }

posted on 2011-12-15 21:00  沉沉-_-  阅读(315)  评论(0编辑  收藏  举报

导航