【问题标题】:Trying to check array data with if statement尝试使用 if 语句检查数组数据
【发布时间】:2016-04-16 23:56:45
【问题描述】:

我正在尝试检查用户输入的数据是否在我想要的范围内。到目前为止,我是这样的:

void getPlayersNumbers(int playerArray[], int size) {

cout << "Please enter 5 numbers between 1-5\n";

for (int i = 0; i < size; i++) {
    cin >> playerArray[i];

    if (playerArray[i] < 1 || playerArray[i] > 5) {
        cout << "Please enter numbers between 1 and 5\n";
    }
}
}

现在,如果他们输入小于 1 或大于 5 的数字,则会显示消息。唯一的问题是我仍然只能输入总共 5 个数字,即使其中一个数字超出范围并且出现了消息。我应该怎么做才能使函数只有在他们输入我设定范围内的 5 个数字时才会结束?

【问题讨论】:

  • 试试explaining the logic in your code to your rubber duck。我相信你的橡皮鸭可能会有一些想法。
  • 不要使用固定的for 循环,而是使用while,计数器仅用于正确输入。
  • 如果数字超出范围,程序应再次请求。您可以通过调用函数替换循环体来完成此操作,该函数要求并返回正确范围内的数字,其中该函数使用循环反复询问,直到它得到一个 OK 数字。
  • 提示 1:使用 std::vector 代替原始数组。
  • 提示 2:对于产生结果的函数,只需 return 该结果即可。

标签: c++ arrays function if-statement


【解决方案1】:

想想你在做什么:

  1. 您会得到意见。
  2. 您将该输入放入您的数组中。
  3. 您检查输入是小于 1 还是大于 5
  4. 返回1.

【讨论】:

  • 这真的让我以不同的方式思考我的问题,现在我明白了。谢谢!
猜你喜欢
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 2017-04-21
  • 2019-04-05
  • 1970-01-01
相关资源
最近更新 更多