尝试在 c++ 中创建随机数生成器并收到错误

Trying to create a random number generator in c++ and getting an error

本文关键字:错误 随机数生成器 创建 c++      更新时间:2023-10-16

我对 c++ 很陌生,目前正在尝试从头开始编写随机数生成器。 但是,我在 while 语句下收到错误,我不知道我做错了什么。 我在 python 方面有一些经验,所以也许我想我可能会创建类似 python 的语法而不是 c++ 语法?谢谢。

#include <iostream>
using namespace std;

class Random {
public:
double oldRoot;
double newRoot;
int iteNum;
Random(double aOldRoot, double aNewRoot, int aIteNum) {
oldRoot = aOldRoot;
newRoot = aNewRoot;
iteNum = aIteNum;
}
int count = 0;
while (count <= iteNum) {
double totalRoot;
totalRoot = oldRoot + newRoot;
if totalRoot > 1.0{
oldRoot = newRoot;
newRoot = totalRoot - 1.0;
}
else {
oldRoot = newRoot;
newRoot = totalRoot;
}
cout << oldRoot << endl;
cout << newRoot << endl;
count += 1
}
};
int main() {
Random random10(0.1412, 0.2343, 10);
return 0;
}

问题是你的生成器代码不在类的方法中,而是在类声明本身中,这是一个语法错误。 尝试更多类似的东西:

#include <iostream>
using namespace std;

class Random {
public:
double oldRoot;
double newRoot;
int iteNum;
Random(double aOldRoot, double aNewRoot, int aIteNum) {
oldRoot = aOldRoot;
newRoot = aNewRoot;
iteNum = aIteNum;
}
void generate() {
int count = 0;
while (count <= iteNum) {
double totalRoot = oldRoot + newRoot;
if (totalRoot > 1.0) {
oldRoot = newRoot;
newRoot = totalRoot - 1.0;
}
else {
oldRoot = newRoot;
newRoot = totalRoot;
}
cout << oldRoot << endl;
cout << newRoot << endl;
count += 1;
}
}
};
int main() {
Random random10(0.1412, 0.2343, 10);
random10.generate();
return 0;
}