Cha*_*ola 2 c++ boolean case break boolean-expression
我正在用C++练习switch语句,我想知道我是否可以添加一个布尔表达式,以及它是如何,就像它是if/else对应物一样.有可能加入这个吗?
这是我的骨架代码:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
#include <Windows.h>
#include <stdlib.h>
#include <time.h>
#include <random>
using namespace std;
int main()
{
int HouseValue;
cout << "Enter your total house value estimate:";
cin >> HouseValue;
switch (HouseValue)
{
case 1:
(HouseValue < 100000 && HouseValue > 50000);
cout << "";
break;
case 2:
(HouseValue < 250000 && HouseValue > 100000);
cout << "";
break;
case 3:
(HouseValue < 500000 && HouseValue > 250000);
cout << "";
break;
case 4:
(HouseValue < 1000000 && HouseValue > 500000);
cout << "";
break;
case 5:
(HouseValue < 3000000 && HouseValue > 1000000);
cout << "";
break;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您不能直接在开关中使用条件,因为它们需要编译时常量表达式.在任何情况下,您的方法都缺少精确值的任何分支(例如HouseValue == 100000),并且它是多余的.
最简单的解决方案是使用if/else链:
if (HouseValue < 50000)
...
else if (HouseValue < 100000)
...
else if (HouseValue < 250000)
...
else if (HouseValue < 500000)
...
Run Code Online (Sandbox Code Playgroud)