为什么我的if else语句不起作用

时间:2015-09-26 19:29:04

标签: c++

前两个语句以给定的数字输入运行,但第三个语句不运行。

#include <iostream>
using namespace std;

int main()
{

    double X;

    cout << "Please pick a number from -10 to 10";

    cin >> X;

    if ((-3 <= X)&&( X <= 2))
        cout << "Y = " << ( X * X) + (2 * X) -3 << endl;

    else if ((2 < X)&&(X <= 10))
        cout << "Y = " << (5 * X) + 7 << endl;

    else if ((X > 10)&&(X < -3))
        cout << "Y = " << 0 << endl;

    return 0;
}

当我选择-1011时,我收到的结果只是一个结束程序,而不是“Y = 0”。

2 个答案:

答案 0 :(得分:6)

Asteroid

if ((X > 10)&&(X < -3)) X时不能X&gt; 10和X&lt; -3所以它总是返回false。

所以它永远不会进入(第3个)if条件。

您可能希望使用||代替&&,以便如果有人为真,则可以进入if条件:

if ((X > 10)||(X < -3))

答案 1 :(得分:0)

答案是一个数字不能大于10且一次不能小于-3。 例如,20大于10但也大于-3。你找不到这个号码。