如果用户输入数字<0,如何停止“ while循环”?

时间:2019-08-30 20:54:54

标签: c++

在此示例中:

    int numbers=0 ,sum=0;

    while (numbers >=0)
    {
        cout<<"Enter positive numbers: ";
        cin>>numbers;
        sum += numbers;
    }
    cout<<"The result = "<<sum<<"\n";

您能帮我做什么吗?

2 个答案:

答案 0 :(得分:3)

在循环中,您将不得不处理两种情况。

  1. 用户输入了无效的输入或EOF。
  2. 用户输入的数字小于0。

首先,您需要使用:

if ( cin >> numbers )
{
    // Reading to numbers was successful.
}
else
{
   // Deal with the error.
}

对于第二种情况,您需要使用:

if ( numbers < 0 )
{
    break;
}

将它们放在一起,

while ( true )
{
    cout << "Enter positive numbers: ";
    if ( cin >> numbers )
    {
       if ( numbers < 0 )
       {
          break;
       }
    }
    else
    {
       // Deal with error. Perhaps break out of the loop too?
       break
    }
    sum += numbers;
}
cout << "The result = " << sum << "\n";

答案 1 :(得分:0)

您可以添加:

if (numbers < 0) { 
  return;
}