我有一个类函数int ComputerClass::getGuess()
,每次调用它都会生成一个随机数。在我的main函数中,我创建了类ComputerClass Computer1,Computer2
的2个函数并调用了类函数,但它为每个调用返回相同的数字:
cout << Computer1.getGuess()<<endl;
cout << Computer2.getGuess()<<endl;
以下是班级成员函数
int ComputerClass::getGuess()
{
//Generate randomn number
srand(time(NULL));
generatednumber = rand() % 100 + 1;
//return computers randomly generated #
cout <<"--(Computer)Please enter a guess between 1-100: "<<
generatednumber<<endl;
return generatednumber;
}
我假设我的问题是种子值,但是我不知道如何设置它以便每次调用它时使数字随机。
答案 0 :(得分:0)
你应该只为整个程序调用一次srand。当你非常快速地调用时间(NULL)两次时,它通常会返回相同的值,因为时间比你的CPU慢得多。
调用srand后,对rand的每次后续调用都将返回不同的值。