gpt4 book ai didi

c++ - 如何在类构造函数中生成设定范围内的随机整数(不重复!)?

转载 作者:行者123 更新时间:2023-11-30 00:39:44 25 4
gpt4 key购买 nike

我正在通过教科书自学 C++,我有一个问题需要解决,概述如下。

我有以下类结构:

 #include <iostream>
#include <cstdio>
#include <ctime>

using namespace std;


class classroom{

char name[25];
int student_id;
float grades[10];
float average;
int num_tests;
float letter_grade;

public:
void enter_name_id(void);
void enter_grade(void);
void average_grades(void);
void letter_grades(void);
void output_name_id_grade(void);
classroom();

};

并且我有以下针对上述类的构造函数:

 classroom::classroom(){

int i;

srand((unsigned)time(0));
int random_integer=0;
random_integer = (rand()%5) + (rand()%5);

num_tests=0;
average=0.0;

for(i=0;i<10;i++){

grades[i]=0.0;

}

for(i=0;i<27;i++){

name[i]='-';
}
cout<<"\n*****************Finished*****************";
}

main 中声明了这个类结构的 3 个学生:

int main()
{
classroom students[3];
//and so...

}

我需要在构造函数中为每个学生生成一个值范围内的唯一学生 ID,例如 0 到 10。

我已将以下代码片段复制到构造函数中。它在所需范围内为我生成随机数:

srand((unsigned)time(0));
int random_integer=0;
random_integer = (rand()%5) + (rand()%5);

问题是我需要去除生成的随机数范围内的所有重复项。

最佳答案

为什么数字需要是随机的?难道不能只使用每次需要生成新学号时递增的 static int 吗?

关于c++ - 如何在类构造函数中生成设定范围内的随机整数(不重复!)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com