我正在C++
设计一个程序,为我的工作生成每周rota。
它首先指定了某些标准,例如每个人需要工作多少小时以及他们应该工作的班次类型,即仅在白天轮班,仅在周末等。
我设计随机生成rota的代码部分的方式是初始化7 x 18 array
(一周7天,工作18小时覆盖一天)。然后程序将以for循环开始,以确定哪一天,然后是嵌套for循环,以确定我们关注的一天中的哪个小时(抱歉,我知道这里的术语用法有点粗略)。每天的每个小时,它将生成一个随机数并将其分配给元素。 (注意:程序开头的每个人都会被赋予一个整数来表示它们。)
我想在数组中分配多个值的元素(我需要在任何给定的时间内工作多个人。)所以我想知道这是否可能,如果是这样,我将如何去做。 我到目前为止的代码插入到下面。 (注意:我确实意识到这已经处于起步阶段。我首先想要在花费大量时间编写它之前看看我的总体思路是否有效。) 提前谢谢。
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{ ofstream outFile;
outFile.open("array.dat");
srand(time(NULL));
int NoOfDaysInWeek=7;
int NoOfHoursinDay=18;
int array[NoOfDaysInWeek][NoOfHoursinDay];
James=1;
Mark=2;
Will=3;
Jamie=4;
Lisa=5;
Sandra=6;
Chris=7;
Julia=8;
Jane=9;
Anne=10;
Alexandra=11;
Jenny=12;
for (int i=0; i<NoOfDaysInWeek; i++) { // loop for day of week
for (int j=2; j<12; j++) { // loop for hours 2 to 12 (already
array[i][j]=5;
}
for (int j=0; j<8; j++) {
array[i][j]=(rand() % 4)+1; // only want mark, james, will or jamie to get these shifts.
}
}
}