gpt4 book ai didi

c++ - 我的将随机生成的数字创建到数组中的程序不断崩溃

转载 作者:行者123 更新时间:2023-12-02 09:08:40 24 4
gpt4 key购买 nike

所以最近我编写了一段代码,可以随机生成一个数组(或包),但是当我尝试运行时它崩溃了,我不知道为什么。我对编码还很陌生,我不确定逻辑错误在哪里。

所以该程序基本上是为了制作一个多维数组,为 PC 随机生成“订单”。我尝试制作可创建 150-250 个订单的 bundle ,但如果不可能(或太复杂),我可以将其设为 250 个。订单为(orderId(从 1 到任意数量的订单), PCId(0-15的随机数)、orderQuantity(1-20的随机数)、 dueDate(0-4的随机数)、利润(尚未配置,暂时忽略))。在数组中是这个顺序

{orderId, PCId, orderQuantity, dueDate, profit}

我想了解为什么它在IDE中不显示任何错误,但运行时崩溃!

#include <iostream>
#include <cstdlib>
#include <ctime>

class BundleGenerator
{
public:
BundleGenerator();
void generateBundle();

protected:
int numberOfOrders;
int bundleArray[][5];
int orderId;
int PCId;
int quantity;
int dueDay;
int profit;
};

int main()
{
srand(time(NULL));

BundleGenerator bg;
bg.generateBundle();
return 0;
}

BundleGenerator::BundleGenerator()
{
int randNum;
randNum = rand()%(250-150 + 1) + 150;
numberOfOrders = randNum;
}
void BundleGenerator::generateBundle()
{
orderId = 1;

for (int i=0; i<numberOfOrders; i++)
{
bundleArray[i][0] = orderId;
orderId++;

int PCIdRnd = rand()%15;
PCId = PCIdRnd;
bundleArray[i][1] = PCId;

int quantityRnd = rand()%19;
quantity = quantityRnd;
bundleArray[i][2] = quantity;

int dueDayRnd = rand()%4;
dueDay = dueDayRnd;
bundleArray[i][3] = dueDay;

bundleArray[i][4] = 0;
}
}

任何有关该计划的建议都很棒!谢谢:)

最佳答案

问题出在“int bundleArray[][5];”上,看来您没有为数组提供任何内存。

关于c++ - 我的将随机生成的数字创建到数组中的程序不断崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072555/

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