我可以在switch语句中选择一个case标签,然后用C++在屏幕上显示它吗



大家好!我认为这可能是一个愚蠢的问题,但我想知道是否可以在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';
}

最新更新