c++ - 尝试在 C++ 中创建随机数生成器并出现错误
问题描述
我对 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;
}
推荐阅读
- python - Django url重定向不起作用
- testing - 如何定义用于 Oculus 远程监视器的“远程变量”?
- javascript - Javascript后置摄像头
- android - 滚动时 Listview 中的 Android 项目重叠
- java - 使用 JsonSubTypes 的 InvalidSchemaException,没有选择我在基本接口中定义的内容
- mysql - Mysql where 子句在主键字段上接受带有字符串的整数
- hive - 如何将字符串格式的日期(“April 25, 2018”)转换为 hive 中的时间戳?
- php - 在 PHP 中从 REST API 读取 JSON - 无数据
- angular - 在 Angular 6 中从控制台隐藏 IE 警告
- javascript - 元素句柄的 Puppeteer 循环不起作用