问题是当输入偶数时显示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 ;
}
首先,使用CIN读取第二个限制。 当前您正在阅读第一个限制两次。
其次,在if语句中,将^
替换为,以便当该数字低于第一个限制或高于第二个限制时,显示错误消息。
再次,在检查数字是奇数还是偶数时,使用模运算符%
而不是简单的除法/
。 这样,如果数字为偶数,表达式的计算结果将为false,如果数字为奇数,表达式的计算结果将为true。 if语句的第一个分支应该更改为输入任意偶数,因为如果x是奇数,x%2
将等于与2除法的余数的值。 如果x为偶数,则余数为0,程序将遵循else
语句,在该语句中输入enter奇数。
祝你好运
如果(x/2==0),那么您将得到输入否。 是奇数还是偶数。