代码块布尔错误

Code blocks boolean error

本文关键字:错误 布尔 代码      更新时间:2023-10-16

我想做布尔方程,例如5< 7是正确的,而7< 5将是错误的。

作为我执行的代码,它要求a的值,然后我放置一个值并输入,但随后他不要求b ..的值,然后总和出现一个随机数。

现在我再次启动它后,我以一个值键入1,然后它要求b的值,我type 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();
}

您可能想要此:

#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;
}

查看说明的评论。

bool仅接受两个条件,要么是false或non-Zero,该条件被评估为1(true)。要添加整数编号,您应使用关键字int,用于小数号,请使用doublefloat

在您的情况下,您必须将ab声明为整数类型,而不是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;
}