c语言《电梯算法》(C language elevator algorithm).doc

c语言《电梯算法》(C language elevator algorithm).doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言《电梯算法》(C language elevator algorithm)

c语言《电梯算法》(C language elevator algorithm) # stdio.h in # stdlib.h in # winsock.h in # winbase.h in # string.h in # include egg.h # include elevator.h # define start 0 / / 定义初始状态 # define up 1 / 上行初始 # define down 2 / / 下行初始 # define pause 3 # define n 100 / / 记录数组的容量 getinput void (void); / / getinput0 void (void); / / void status _ trans (void); / / 显示当前的状态 void control (void); / / 控制主要的电梯过程 control0 void (void); / / 在暂停后的控制 void time _ count (void); uper void (void); / / 上行 void downer (void); / / 下行 int call [n] = {0}; int callup [10] = {0}; / / 存放向上呼叫的整型数组 ints callin [10] = {0}; / / 存放内部呼叫的整型数组 int calldown [10] = {0}; / / 存放向下呼叫的整型数组 int time = 0, state = 0, prestate = 0, flag = 1, x = 0; int aimlayer = 0, currentlayer = 1; float = 0.0 cl1, cl2 = 0.0; main () { int service; elevator (); system (color 3f ); printf (eva 电梯竭诚为您服务, 祝乘坐愉快 \ n); printf (请选择服务策略 (1为先来先服务, 2为顺便服务):); scanf (% d service); if (service = = 1) { dword threadid1 = 1; to hread1 = createthread (null, 0, (lpthread _ start _ routine) getinput0, null, 0, threadid1); } elsa { dword threadid2 = 1; to hread2 = createthread (null, 0, (lpthread _ start _ routine) getinput, null, 0, threadid2); / /???????? } while (1) { if (service = = 1) control0 (); elsa control (a); the status _ trans (); / * 确定电梯此刻的状态, 包括运行方向、所在楼层等 * / } system (pause); return 0; } void status _ trans (void) / / yang { int i; switch (state) { case start: if (aimlayer currentlayer) state = up; if (aimlayer = = currentlayer) state = pause, prestate = start; if (aimlayer = = 0) state = start; break; go up: flag = 1; uper (); currentlayer + +; drawcurrentlayer1 (currentlayer); drawcurrentlayer2 (currentlayer); printf (当前电梯楼层% d, currentlayer); if (currentlayer = = aimlayer) { state = pause, x = 1, prestate = up; printf (当前电梯楼层% d, currentlayer); } if (currentlayer aimlayer) state = up, flag = 1; if (currentlayer aimlayer) state = down, flag = - 1; break; go down: flag = - 1; downer (); currentlayer -; / /? drawcurrentl

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档