我想做布尔方程式,如5< 7将是真的,7< 5将是假的。
当我执行的代码询问A的值时,我输入一个值并输入但是他不要求b的值...并且总和出现一个随机数...
现在我再次启动它后,我在一个值中键入1然后它要求b的值,我输入2但仍然显示答案显示为A-B
int main() {
bool a;
bool b;
cout << "enter value for a" << endl;
cin>>a;
cout << "enter value for a" << endl;
cin >> b;
bool e = a < b;
cout << "sum is" << e;
return 0;
getch();
}
答案 0 :(得分:1)
你可能想要这个:
#include <iostream>
using namespace std;
int main() {
int a; // int instead of bool
int b; // int instead of bool
cout << "enter value for a " << endl;
cin >> a;
cout << "enter value for b " << endl;
cin >> b;
bool e = a < b;
cout << "a < b is " << e << endl; // prints 1 for true and 0 for false
return 0;
// getch(); // useless because it will never be executed after return 0;
}
查看评论以获得解释。
答案 1 :(得分:0)
bool
只接受两个条件,0表示假或非零,它被计算为1(真)。要添加整数,您应使用关键字int
,对于十进制数,请使用double
或float
。
在您的情况下,您必须将a
和b
声明为整数类型而不是bool
。您的布尔变量e
很好,它接收变量a
是否小于变量b
的条件。您的上一个std::cout
不应该要求他们汇总,因为e
不是用来总结它们,而是从a < b
获得条件。
#include <iostream>
int main() {
int a;
int b;
std::cout << "enter value for a " << std::endl;
std::cin >> a;
std::cout << "enter value for b " << std::endl;
std::cin >> b;
bool e = a < b;
std::cout << "a < b is: " << e << std::endl;
return 0;
}