【问题标题】:Generating random numbers in a file, and calling them from the file, then printing them out在文件中生成随机数,并从文件中调用它们,然后将它们打印出来
【发布时间】:2018-04-21 22:40:06
【问题描述】:

我正在尝试创建一个生成随机数的文件,然后我希望程序调用这些随机数并将它们打印出来。第一个;斯兰德 (time(NULL)) 函数给我一个错误,第二个;我想检查循环和我用来获取随机数的公式是否正确。

谢谢。

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>

using namespace std;
int rand(int x);

int main(int argc, char* argv[])
{
    ofstream outputFile;
    outputFile.open("fileTest.txt");

    int i;
    for (i =0; i<23; i++)
    {
        outputFile << rand(i) <<endl;
    }

    ifstream inputFile;
    inputFile.open ("fileTest.txt");

    int ranNum[i];
    for (int i = 190; i <= 270; i++)
    {
        ranNum[i] = (rand() % (270-190+1)+ 190);
        inputFile>> ranNum[i];
        cout<<ranNum [i]<<" "<<endl;
    }

    system("pause");

    return 0;
}

【问题讨论】:

  • 有点不清楚你在说什么。文件不会产生任何东西。他们存储数据。此外,您的程序不呼叫号码。不过,它可以调用一个函数。您能否显示您在致电srand() 时收到的完整错误消息? (请在此处复制并粘贴准确文本。)
  • 编写代码时,最好尽可能独立实现新功能。你在生成随机数时遇到了麻烦,所以编写一个程序来生成一个随机数并将其打印出来。在尝试将其与任何其他代码相吻合之前,让它完美地工作。

标签: c++ random ifstream ofstream


【解决方案1】:

我假设您的目标是生成一组随机数并将它们写入文件。使用下面的基本代码,您将找到工作版本。请注意一些 cmets:

  1. int rand(int x);这是一个声明,你不能让它保持原样 是,在其中之一中也有正确实现此功能 您包含的库。
  2. rand 之前使用srand 是 建议初始化伪随机值生成器。你是 尝试使用 srand(time(NULL)) 在每次执行中初始化 与不同 价值。如果您使用静态值,即srand(0),您会得到相同的结果 每次随机序列。
  3. 另外我假设你不需要从文件中读取,所以下面的代码 生成随机整数数组,打印它们并保存到文件中。
  4. 在写入文件/流结束时,您需要关闭此文件 outputFile.close()
  5. cin.get() 给你一个你正在寻找的“暂停”,只需按下 退出程序。

如果您愿意深入了解 C++ here,您有一些方便的资源。

这是一个代码:

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int main ()
{
    ofstream outputFile;
    outputFile.open("fileTest.txt");

    srand(time(NULL));

    int range = 270 - 190;
    int ranNum[range];

    for (int i = 0; i <= range; i++)
    {
        ranNum[i] = 190 + 1 + rand () % range;
        cout << ranNum[i] << " " << endl;
    }

    outputFile.close();
    cin.get();
    return 0;
}

这是一个带有ready program的在线编译器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 2021-11-29
    • 2014-09-30
    相关资源
    最近更新 更多