Github地址
[elevator]https://github.com/zhanglingxin/3Elevators-scheduling
代码实现
在本次作业中,是三个电梯解决电梯的调度问题。我在那个类的基础上生成了三个电梯,然后在这个的基础上,在main函数里完成三个电梯的接乘客的分配。
for (i = 0;i < n;i++)
{
infile>> ipt[0][i] >> ipt[1][i] >>ipt[2][i];
if (ipt[1][i] != 1 && ipt[2][i] != 1)
{
if (ipt[1][i] % 2 == 0 && ipt[2][i] % 2 == 0)
{
l3[0][i] = ipt[0][i];
l3[1][i] = ipt[1][i];
l3[2][i] = ipt[2][i];
nl[3]++;
}
else if ((ipt[1][i] % 2 != 0 && ipt[2][i] % 2 != 0))
{
l1[0][i] = ipt[0][i];
l1[1][i] = ipt[1][i];
l1[2][i] = ipt[2][i];
nl[1]++;
}
else
{
l2[0][i] = ipt[0][i];
l2[1][i] = ipt[1][i];
l2[2][i] = ipt[2][i];
nl[2]++;
}
}
if (ipt[1][i] == 1 || ipt[2][i] == 1)
{
if (ipt[1][i]==1&&ipt[2][i]!=1)
{
if (ipt[2][i] % 2 == 0)
{
l2[1][i] = ipt[1][i];
l2[2][i] = ipt[2][i];
l2[0][i] = ipt[0][i];
nl[2]++;
}
else
{
l1[2][i] = ipt[2][i];
l1[1][i] = ipt[1][i];
l1[0][i] = ipt[0][i];
nl[1]++;
}
}
else
{
if (ipt[1][i] % 2 == 0)
{
l2[1][i] = ipt[1][i];
l2[2][i] = ipt[2][i];
l2[0][i] = ipt[0][i];
nl[2]++;
}
else
{
l1[2][i] = ipt[2][i];
l1[1][i] = ipt[1][i];
l1[0][i] = ipt[0][i];
nl[1]++;
}
}
}
}
然后我再电梯分配之后,又完成了单个电梯的接送乘客的顺序。然后再改成文件输入和文件输出。
在本次电梯的完成中,遇到的困难还是比较多的,比如怎么安排乘客坐能够电梯,怎么将这个电梯更加完善 还有很多知识点不是太会所以接下来一部我想把调度的这个过程单独出来,做一个类。还在摸索中。还有文件输入和输出在感觉挺简单的但是一直弄了好久好久。。。