【发布时间】:2010-12-20 21:32:24
【问题描述】:
我可能看多了一些东西,但是在 C++ 中有没有一种简单的方法可以将案例组合在一起而不是单独写出来?我记得基本上我可以做到:
SELECT CASE Answer
CASE 1, 2, 3, 4
C++ 中的示例(适合需要的人):
#include <iostream.h>
#include <stdio.h>
int main()
{
int Answer;
cout << "How many cars do you have?";
cin >> Answer;
switch (Answer)
{
case 1:
case 2:
case 3:
case 4:
cout << "You need more cars. ";
break;
case 5:
case 6:
case 7:
case 8:
cout << "Now you need a house. ";
break;
default:
cout << "What are you? A peace-loving hippie freak? ";
}
cout << "\nPress ENTER to continue... " << endl;
getchar();
return 0;
}
【问题讨论】:
-
嗯,我想你已经回答了自己的问题......
-
对于您提供的特定示例,更简单的方法是
if (Answer >=1 && Answer <=4) -
@Falmari 不,他想要更紧凑的形式,例如
case 1, 2, 3, 4: -
我意识到我做对了。我只是在利用我的资源来寻找做事的最佳方式。尽管 C++ 是多余的,但我希望有一种更好的方法来对输出进行分组,然后键入 case 400 次来对输出进行分组。
-
如果您执行
case 1: case 2:等,GCC 现在将报告Wimplicit-fallthrough,因此最好有一种优雅的跨平台方式来处理此问题,而无需禁用编译器警告。
标签: c++ switch-statement