提问者:小点点

不好:C++混淆。 如果else语句不起作用


问题是当输入偶数时显示enter any und number,反之亦然,在用户给出的特定范围内显示enter any und number。 如果用户输入的数字不在范围内,则显示无效数字。 范围由用户给出。 这里我的if条件不起作用; 它总是显示“输入奇数”,即使我输入了奇数

#include<iostream>
#include<math.h>
using namespace std ;
    
int main()
{
    int firstlimit = 0 ;
    int secoudlimit = 0 ;
    int x = 0 ;
    cout << " \n first limit : " ;
    cin >> firstlimit ;
    cout << " \n secound limit : " ;
    cin >> firstlimit ;
    cout << "\n enter any number : " ;
    cin >> x ;
        
    if (x < firstlimit ^ x > secoudlimit )  
    {
        cout << "INVALID NUMBER\n" ; 
        cout << "\n enter any number : " ;
        cin >> x ;
    }
      
    
    if (x/2)
    {
        cout << "Enter any odd number : " ;
        cin >> x ;
      
    }
    else 
    {
         cout << "Enter any even number : ";
         cin >> x ;
    }
    return 0 ;  
}

共2个答案

匿名用户

首先,使用CIN读取第二个限制。 当前您正在阅读第一个限制两次。

其次,在if语句中,将^替换为,以便当该数字低于第一个限制或高于第二个限制时,显示错误消息。

再次,在检查数字是奇数还是偶数时,使用模运算符%而不是简单的除法/。 这样,如果数字为偶数,表达式的计算结果将为false,如果数字为奇数,表达式的计算结果将为true。 if语句的第一个分支应该更改为输入任意偶数,因为如果x是奇数,x%2将等于与2除法的余数的值。 如果x为偶数,则余数为0,程序将遵循else语句,在该语句中输入enter奇数。

祝你好运

匿名用户

如果(x/2==0),那么您将得到输入否。 是奇数还是偶数。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(不好|c++|混淆|语句|不起作用)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?