我将随机生成的数字创建到数组中的程序不断崩溃
My program to create randomly generated numbers into an array keeps crashing
所以最近我编写了一段随机生成数组(或包)的代码,但是当我尝试 运行 时它崩溃了,我不知道为什么。我对编码还很陌生,我不确定逻辑错误在哪里。
所以这个程序基本上是为了制作一个多维数组,为 PC 随机生成 "orders"。我试图制作从 150-250 个订单创建的捆绑包,但如果这不可能(或太复杂),我可以只制作 250 个。订单是(orderId(只是从 1 到有多少订单), PCId(0-15的随机数),orderQuantity(1-20的随机数),dueDate(0-4的随机数),profit(尚未配置,暂时忽略)。在数组中是这个顺序
{orderId, PCId, orderQuantity, dueDate, profit}
我想了解为什么它在 IDE 中没有显示任何错误,但在 运行ning!
时却崩溃了
#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];",看来,你没有为数组提供任何内存。
所以最近我编写了一段随机生成数组(或包)的代码,但是当我尝试 运行 时它崩溃了,我不知道为什么。我对编码还很陌生,我不确定逻辑错误在哪里。
所以这个程序基本上是为了制作一个多维数组,为 PC 随机生成 "orders"。我试图制作从 150-250 个订单创建的捆绑包,但如果这不可能(或太复杂),我可以只制作 250 个。订单是(orderId(只是从 1 到有多少订单), PCId(0-15的随机数),orderQuantity(1-20的随机数),dueDate(0-4的随机数),profit(尚未配置,暂时忽略)。在数组中是这个顺序
{orderId, PCId, orderQuantity, dueDate, profit}
我想了解为什么它在 IDE 中没有显示任何错误,但在 运行ning!
时却崩溃了#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];",看来,你没有为数组提供任何内存。