我正在制作一个简单的程序,根据我在 switch 语句案例中写的句子显示人的行为。我想随机生成一个 1 到 10 之间的数字,并在“switch(this place)”中使用它。到目前为止,我已经编写了以下代码并卡在这里..
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int rand_range(int low, int high)
{
return rand()%(high-low) + low;
}
int main()
{
srand(time(NULL));
cout<<"Hi!, this program tells you about your behaviour"<<endl;
cout<<"press enter to continue";
cin.get();
switch( )
{
case 1:
{
cout<<"you are rude !";
}
case 2:
{
cout<<"you are smart";
}
case 3:
{
cout<<"you try to prove yourself special all the time";
}
case 4:
{
cout<<"you are good in sarcasm";
}
case 5:
{
cout<<"you look dumb, but deep inside you are intelligent";
}
case 6:
{
cout<<"you are always ready for a debate with someone";
}
case 7:
{
cout<<"you are very lazy";
}
case 8:
{
cout<<"you are dumber than what you look";
}
case 9:
{
cout<<"you always try to help others";
}
case 10:
{
cout<<"you have good decision making capabilities";
}
default:
{
cout<<"something wrong";
}
}
}
最佳答案
在括号中的 switch 语句中,您需要 (rand() % 10) + 1
。在您为随机数生成器设置种子后,rand()
函数将返回一个介于 0 和 RAND_MAX
之间的数字。 RAND_MAX
是一个大数。
要获得范围内的随机数,标准技巧是使用 %
运算符。 rand() % 10
返回 0 到 9 之间的数字(含 0 和 9)。加 1 得到 1 到 10 的范围。
关于c++ - 如何在 switch 语句中使用随机生成的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090640/