首页 开发技术 C     /    电梯模拟用C写的很好的一个图形化界面人性化的设置

电梯模拟用C写的很好的一个图形化界面人性化的设置

上传者: holly_0724 | 上传时间:2024/4/2 8:05:07 | 文件大小:59KB | 文件类型:rar
电梯模拟用C写的很好的一个图形化界面人性化的设置
1. 楼层由上至下依次编号为9,8,7,6,5,4,3,2,1,0。
每层都有向上和向下两个按钮,对应20个变量callup[0...9]和calldown[0...9]。
电梯内10个目标层按钮对应变量out[0...9]。
有人按下某个按钮时,相应的变量就增1,一旦要求满足后,该变量就减1。
当有多人的需求相同时,相应的处理时间就增长,用于模拟真实的情况。
2. 电梯处于三种状态之一:UP(上行),DOWN(下行)和Idle(等候)。
如果电梯处于Idle状态且不在1层超过20个时间单位时,则驶回1层。
当电梯处于Idle状态时,一旦收到前往另一层的命令,就转入UP或DOWN状态,执行相应的操作。
3. 其它重要的变量有:floor----当前电梯外乘客所在楼层;
calling----当前电梯外按下按钮的乘客所在的楼层;
up_or_down----电梯外某层按钮的状态(向上箭头或向下箭头);
waittime----电梯空闲时的等待时间;
total----电梯内的总人数(上限为15人);
电梯的数据结构:state----电梯的状态(UP,DOWN,IDLE)current-----电梯目前所处楼层imovingto----电梯的目标楼层队列成员的数据结构:floor―――所在楼层up_down―――目标方向(向上或向下)structqueue*next―――指向下一个成员4. 【进入排队】先在等候队列中查找,若有信息相同(所在楼层相同,目标方向一致)的成员,则对队列无任何操作。
若没有,则在队列末尾插入该人。
5. 【进入电梯】电梯根据人数停留一定时间单位,每进入一个人,从队列中删除该人,callup[ele.current]或者calldown[ele.current]减一,total加一。
6. 【走出电梯】电梯根据人数停留一定时间单位,每出去一个人out[ele.current]减一.7. 【电梯的活动】E1.[在一楼停候]若有人按下一个按钮,则调用相关函数(比如入队,置楼层标志位为1等)处理当前事件.E2.[改变状态]如果电梯处于Up(或Down)状态,但该方向的楼层却无人等待,则要看反方向楼层是否有人等待,而决定置State为Down(或Up)还是Idle。
E3.[让人出入]如果电梯不空且out[ele.current]!=0时,则电梯等候在该楼层出电梯的人离开。
接着检验在该楼层是否有等候前往同一方向去的乘客,若有则等候他们进入电梯。
总原则是先下后上。
E4.[在某楼层(非1楼)停候]若电梯到达目标楼层后,队列为空,则电梯在该楼层停候一定时间,在停候期间若有新的呼叫,则立即转入处理程序处理,否则返回一楼停候。
8. 电梯在上升或下降过程中需要不停地对当前方向上的最终楼层作调整。
比如当前向上,最终楼层为6楼,而有乘客在8楼按了按钮,则最终楼层调整为8楼。
相反方向同理。

文件下载

资源详情

[{"title":"(4个子文件59KB)电梯模拟用C写的很好的一个图形化界面人性化的设置","children":[{"title":"电梯模拟","children":[{"title":"源代码.doc <span style='color:#111;'>96.00KB</span>","children":null,"spread":false},{"title":"算法文档.doc <span style='color:#111;'>90.00KB</span>","children":null,"spread":false},{"title":"电梯模拟.EXE <span style='color:#111;'>46.91KB</span>","children":null,"spread":false}],"spread":true},{"title":"www.pudn.com.txt <span style='color:#111;'>218B</span>","children":null,"spread":false}],"spread":true}]

评论信息

  • qq_40594818:
    江湖救急,谢谢,2018-06-14
  • tony_buyun:
    16位的程序,需要Win7的32位版,或者XP、2000什么的,略有局限,不过确实不错2015-12-20
  • fanwei5240:
    写得很好!谢谢您的帮助2013-11-23
  • 诺克上单:
    貌似我的win7运行不了2013-07-16
  • shizeew:
    我的也是win764不能用2013-05-08

免责申明

【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明