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

时间:2015-10-12 02:51:05

标签: c++ arrays class random crash

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

因此该程序基本上是为了制作一个随机生成" order"的多维数组。对于PC来说。我试图制作150-250订单创建的捆绑,但如果不可能(或太复杂),我可以将其设为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;
    }
}

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

1 个答案:

答案 0 :(得分:1)

问题出在&#34; int bundleArray [] [5];&#34;,似乎你没有为数组提供任何内存。