C++ 将枚举与rand()函数一起使用
这里没有程序员,想在作业上得到一些帮助。我会用一个类似的例子,如果有人能帮我找出我做错了什么,那就太好了。我知道rand是一个整数,默认情况下不能设置为等于enum。我正在尝试使rand integer与随机选择的枚举配对。很抱歉重新发布了一个已经提出的问题,但是其他用户编写的其他示例有点让我困惑 注意:我没有将srand添加到种子随机数中,因为在我的特定作业中,它不需要根据我的导师进行种子设定,不知道为什么,只是按照说明进行C++ 将枚举与rand()函数一起使用,c++,random,enums,C++,Random,Enums,这里没有程序员,想在作业上得到一些帮助。我会用一个类似的例子,如果有人能帮我找出我做错了什么,那就太好了。我知道rand是一个整数,默认情况下不能设置为等于enum。我正在尝试使rand integer与随机选择的枚举配对。很抱歉重新发布了一个已经提出的问题,但是其他用户编写的其他示例有点让我困惑 注意:我没有将srand添加到种子随机数中,因为在我的特定作业中,它不需要根据我的导师进行种子设定,不知道为什么,只是按照说明进行 #include <iostream> #include
#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;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
enum衬衫颜色{白、黑、红、绿};
int value=0;//要生成的rand num
value=rand()%4;
衬衫颜色衬衫=白色;
衬衫颜色衬衫=黑色;
衬衫颜色衬衫=红色;
衬衫颜色衬衫=绿色;
衬衫=静态施法(数值);
这里有两个问题,但它们都与rand()
无关
多重声明
在这里,您创建了四个同名变量。不清楚为什么要这样做
只需为您选择的衬衫颜色设置一个变量:
SHIRT_COLOR shirt = static_cast<SHIRT_COLOR>(value);
SHIRT\u COLOR SHIRT=static\u cast(值);
输出
C++不知道如何开箱即用地打印枚举,程序也不知道这些变量/常量名称;它们只存在于源代码中
那么,您可能会在这一行收到一个编译错误:
cout << "Random Shirt Color: " << shirt;
cout这里有两个问题,但它们都与rand()
无关
多重声明
在这里,您创建了四个同名变量。不清楚为什么要这样做
只需为您选择的衬衫颜色设置一个变量:
SHIRT_COLOR shirt = static_cast<SHIRT_COLOR>(value);
SHIRT\u COLOR SHIRT=static\u cast(值);
输出
C++不知道如何开箱即用地打印枚举,程序也不知道这些变量/常量名称;它们只存在于源代码中
那么,您可能会在这一行收到一个编译错误:
cout << "Random Shirt Color: " << shirt;
您似乎需要使用rand()
?您不允许使用
库的高级功能?哦,我知道您想要像“白色”、“黑色”一样输出等?约翰在我的CS课上没有看过图书馆yet@John正确,不是输出随机数,而是希望随机数与枚举上设置的一种颜色相匹配。您希望如何从一个可能有五个不同值的随机数中仅导出四个可能的、不同的enum
值.Spock会说:这是非常不合逻辑的。似乎你需要使用rand()
?你不允许使用
库的高级功能?哦,我知道你想要像“白色”、“黑色”一样输出等?约翰在我的CS课上没有看过图书馆yet@John正确,不是输出随机数,而是希望随机数与枚举上设置的一种颜色相匹配。您希望如何从一个可能有五个不同值的随机数中仅导出四个可能的、不同的enum
值斯波克会说:这是非常不合逻辑的。