大家好!我认为这可能是一个愚蠢的问题,但我想知道是否可以在C++中的switch语句中显示case标签。以下是声明:
switch(TYPE)
{
case 'A':
(cost <= 30000);
break;
case 'B':
(30000 < cost <= 60000);
break;
case 'C':
(cost > 60000);
break;
}
在这段代码中,用户在它的开头写下成本。在每种情况下显示的范围都是产品的价格。假设他们写了62000,所以考虑到它的成本超过60000,它应该使用C型产品。所以我想向用户展示类型,我写:
cout <<"TYPE: "<< TYPE <<endl;
但是当我运行代码时,这一行显示为空。我想找到把"C"放在那里的方法,这是与成本相对应的类型。或者至少我想知道这是否不可能,这样我就可以想出另一种方法来实现这一点。我感谢你的时间和考虑
您正在倒退。switch
无法实现您想要的。您需要使用if..else
,例如:
cout << "TYPE: ";
if (cost <= 30000)
cout << 'A':
else if (cost <= 60000)
cout << 'B':
else
cout << 'C':
cout << endl;
您可以通过将逻辑封装在函数中来更进一步,例如:
char getTYPE(int cost)
{
if (cost <= 30000)
return 'A':
else if (cost <= 60000)
return 'B':
else
return 'C':
}
cout << "TYPE: " << getTYPE(cost) << endl;
听起来您的逻辑可能有点落后。switch
用于对照已经设置的变量的值进行检查。此外,它只能检查每个case
的单个值;它无法检查范围。
如果我正确解释了你的问题,我想你想要这样的东西:
if (cost <= 30000) {
TYPE = 'A';
} else if (cost <= 60000) {
TYPE = 'B';
} else {
TYPE = 'C';
}