c ++ while循环重复

时间:2013-03-11 06:04:52

标签: c++

我有以下代码。当输入jackpot之类的东西时,它会打印出8次cout,每个字符一次。它为什么这样做?信息是结构,数字是整数。

do {
        cout <<"Please input a valid number."<< endl;
        cin>>information.number;
        if (!cin)
          {
             cin.clear();
             cin.ignore();
          }
    }
while(information.number> 12 || information.number< 1);

1 个答案:

答案 0 :(得分:1)

您可以指定最大忽略长度和忽略delimiter

do {
        cout <<"Please input a valid number."<< endl;
        cin>>information.number;
        if (!cin)
          {
             cin.clear();
             cin.ignore(1024, '\n'); // ignore up to 1024 chars. until '\n'
          }
    }
while(information.number> 12 || information.number< 1);