【发布时间】:2023-03-09 12:41:02
【问题描述】:
可能重复:
How do I select a range of values in a switch statement?
c++ cannot appear in a constant-expression|
我要做的是生成一个随机数,并根据数字的值写出“常见”、“稀有”或“非常稀有”。有人可以帮帮我吗?
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int a;
srand(time(0));
a = 1 + (rand()%10);
switch (a)
{
case (a >= 0 && a <= 5):
cout << "Common";
break;
case (a >= 6 && a <= 8):
cout << "Rare";
break;
case (a >= 9 && a <= 10):
cout << "Very rare";
break;
default:
break;
}
return 0;
}
【问题讨论】:
-
什么不起作用?你得到编译错误吗?分段错误?你每次都得到相同的值吗?什么?
-
-1,这个问题的标题没有描述实际的问题,完全没有提到编译器错误。
-
case (a >= 0 && a <= 5):->a怎么可能是 0?
标签: c++