限制数组中的用户输入

Limiting the user input in an array

本文关键字:用户 输入 数组      更新时间:2023-10-16

我正在进行一个练习,需要用户输入25个值,所有值都在10到60之间。我想验证这些值是否在10到60之间。

void main()    
{   
    int len[25], i;    
    for (i = 0; i < 25; i++)
    {
        cout << "Please enter length: ";
        do
        {    
            cin >> len[i];          
        } while (len[i] >= 10 && len[i] <=60);              
    }       
}

这就是我所拥有的,但在我看来,用户并没有限制在10到60之间。因为当我输入一个大于60的值,然后尝试稍后输出时,我看到它无论如何都存储在len[I]中。有没有想过我该怎么解决这个问题?对不起,我有点傻。

谢谢!

这就是你在这里做的事情

cin >> len[i];

你可以选择

int n;
while(cin>>n)
{ 
 if(n<10 || n>60) {
  std::cerr << "value out of range" << std::endl;
  break; // ore may be continue ?
 }
 len[i]=n;
}