我和华飞进过探讨商量初步的想法是
假设某楼N层(N=9),电梯限定人数为M人(M=10,体重的问题还没有考虑),电梯每移动一步,随机生成x个人(x=0~3),生成的任一人随机出现于任一层,要到达目的层也是随机的(但不能同层),电梯调度规则是: ①当前没人则不动;②当有向上(下)的人请求,则电梯向上(下)运动,并只允许向上(下)的人乘,直到没有向上(下)的人;③重复①~②。
(1)可能要用的函数:
①int kbhit( )函数用于判断是否有按键,若有返回非零值,否则返回零。在conio.h中定义。 ②TC下"conio.h"头文件中定义的用于清屏的函数是clrscr(); ③VC下"stdlib.h"头文件中定义的用于清屏的函数是system("CLS"); ④int random(int num):返回一个0到(num-1)之间的随机整数。在stdlib.h中定义。 ⑤void randomize( ):生成随机种子。在stdlib.h中定义。
(2)电梯内外状态可分别用字符(或整型)数组s和q存储(如下图),启动时从指定文件中读取,按Esc退出并保存在指定文件中。如下图表示电梯内有6人,分别到5、7、6、9、9、8层,电梯外有3人,1层2人分别要到9、7层,8层1人要到2层。电梯移动状态D三种向下、不动、向上。电梯当前位置P=1~9表示在一到九层