注册 登录
编程论坛 C++教室

for循环怎么实现要求输入的数字

zhang7449971 发布于 2016-08-01 17:09, 2624 次点击
程序代码:
        

                 int id;
             cout << "请输入学生的id:";
            cin >> id;
        for (; id <= 0 && id <= 49;)
           {
                cout << "输入错误,请输入0-49之间" << endl;
                cout << "请重新输入学生id:";
                cin >> id;
            }
                cout<<id<<endl;
   
2 回复
#2
wengbin2016-08-01 20:33
问题没说清呀
#3
rjsp2016-08-02 08:22
程序代码:
#include <iostream>
#include <limits>
using namespace std;

int main( void )
{
    int id;
    {
        for( cout<<"请输入学生的id: "; !(cin>>id) || id<0 || id>49; )
        {
            if( cin.eof() )
                return 1;
            if( !cin )
            {
                cin.clear();
                cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );
            }
            cout << "输入错误, 数值当在[0,49]之间. 请重新输入学生的id: ";
        }
    }
    cout << id << endl;

    return 0;
}

输入演示
请输入学生的id: 9999999999999999999999999999
输入错误, 数值当在[0,49]之间. 请重新输入学生的id: 50
输入错误, 数值当在[0,49]之间. 请重新输入学生的id: abc
输入错误, 数值当在[0,49]之间. 请重新输入学生的id: 40
40

1