【发布时间】:2020-06-20 22:43:48
【问题描述】:
这里是新手程序员,试图在作业上获得一些帮助。我将使用类似的示例,如果有人可以帮助我弄清楚我做错了什么,那就太好了。我知道 rand 是一个整数,默认情况下它不能设置为等于枚举。我正在尝试获取 rand 整数来配对随机选择的枚举。很抱歉重新发布一个已经提出的问题,但其他用户写的其他示例让我感到困惑。
注意:我没有将 srand 添加到种子随机数中,因为在我的具体作业中,不需要根据我的导师进行种子化,不知道为什么,只需按照说明进行操作即可。
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
int main(){
enum SHIRT_COLOR { WHITE, BLACK, RED, GREEN};
int value = 0; //rand num to be generated
value = rand() % 4;
SHIRT_COLOR shirt = WHITE;
SHIRT_COLOR shirt = BLACK;
SHIRT_COLOR shirt = RED;
SHIRT_COLOR shirt = GREEN;
shirt = static_cast<SHIRT_COLOR>(value);
cout << "Random Shirt Color: " << shirt;
}
【问题讨论】:
-
您似乎需要使用
rand()?不允许使用<random>库的高级功能? -
哦,我知道你想输出“WHITE”、“BLACK”等?
-
@John 还没有在我的 CS 课上浏览过
库 -
@John 正确,而不是输出随机数,我希望该随机数与 enum 上设置的颜色之一匹配
-
您如何期望从一个可能有五个可能的不同值的随机数中仅导出四个可能的不同
enum值?正如 Spock 先生所说:这非常不合逻辑。