我在数组中创建随机生成数字的程序总是崩溃

My program to create randomly generated numbers into an array keeps crashing

本文关键字:数字 程序 崩溃 数组 创建 随机      更新时间:2023-10-16

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

所以这个程序基本上是为了制作一个多维数组,随机为PC生成"订单"。我尝试着创造150-250个订单的捆绑包,但如果这是不可能的(或太复杂),我可以将其设置为250个。订单是(orderId(从1到有多少订单),PCId(0-15的随机数),orderQuantity(1-20的随机数),dueDate(0-4的随机数),profit(尚未配置,暂时忽略))。数组的顺序是

{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];"上,似乎您没有为数组提供任何内存