【问题标题】:1.My problem in code is that when i input integers 75 and 100 it did not show my desired output [closed]1.我的代码问题是,当我输入整数 75 和 100 时,它没有显示我想要的输出 [关闭]
【发布时间】:2021-11-11 17:04:09
【问题描述】:
/*when you will enter any number between 0-100 .
There are four ranges and the program will show in which range your number lies*/ 

#include <iostream>

using namespace std;
  
int main()
{
    int number;
      
    cout << "Enter your number between 0-100\n";
    cin >> number;
    if(number <= 25 || number == 0)
       {
        cout << "your number is between 0-25\n";
       } 
     else if (number > 25 || number <= 50)
       { 
        cout << "your number is between 25-50\n";
       } 
     else if (number > 50 || number <= 75)
       { 
        cout << "your number is between 50-75\n";
       }
     else if(number >75 || number <= 100)
       {
       cout << "your number is between 75-100\n";
       }
       else
       {
       cout<<"number is not between 0-100\n";
       }


    return 0;
}

【问题讨论】:

  • 请不要随意添加语言标签。
  • 您的条件有误。花点时间思考一下。
  • 对于未来的问题,请花一些时间阅读the help pages,阅读SO tour,阅读How to Ask,以及this question checklist
  • 在 if-else 链中,不需要在下一个 if 中检查前一个 if 的补码。因此,如果if(number &lt;= 25) 失败,number 必须 >25... 删除这些过时的检查将同时修复您的||/&amp;&amp; 不匹配,因为无论如何您都会放弃它.您仍然应该了解导致您的检查失败的原因,您可能会在未来某个时间点需要这些知识......
  • 程序员的秘密武器是调试器。使用调试器,您可以按照自己的速度执行程序,并观察程序执行的操作。典型用法是在调试器中启动程序并使用 breakpojnt 使其在您希望更仔细检查的区域之前停止。确保初始条件正确。如果不是,则错误不在您认为的位置(或者您有多个错误)。逐行遍历感兴趣的区域,留意意外情况,例如程序走错路径或存储错误值。

标签: c++ if-statement integer


【解决方案1】:

如果第一个 if 没有触发,第二个 if 将始终触发。原因是它不应该是OR||,而是和AND&amp;&amp;,其余测试相同。

【讨论】:

  • OP 需要if(number &gt;= 0 &amp;&amp; number &lt;= 25) 作为第一个能够声明your number is between 0-25 的测试。
  • 是的。你说的很对。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 2022-01-21
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多