电梯调度的C语言实现(vc可正常运行)
2017-08-26 16:33
141 查看
#include <stdio.h> int main(void) { //数组:a[012345]初始为0,按下向上按钮时,为1;I //数组:b[012345]初始为零,按下某个按钮时,为1;M //数组:c[012345]初始为0,按下向下按钮.为1;J int a[6]={0}; int b[6]={0}; int c[6]={0}; //x=1上升;x=0等待,x=-1下降; int x=0; //当前位置为n; int n=1; //目的最远位置m; //楼层记录M; int m=1; int M,J,I; int i,j,k=0,K=0; //k为电梯停止时距离电梯最近的按钮 int z=1; int max=1,min=1; for(;;){ while(x==1){ //上行 n=n+x; printf("电梯上升到%d层\n",n); printf("哪一层有人按上\t哪一层有人按下\n"); scanf("%d%d",&I,&J); a[I]=1;c[J]=1; if(b ||a ){ printf("电梯停在%d层\n",n); printf("你要去哪一层?\n"); scanf("%d",&M); if(M<=6&&M>=0){ b[M]=1; } b =0; a =0; } for(j=6;j>0;j--){ if(b[j]) { m=j; printf("目标楼层%d\n",m); j=-1; } } if(m-n<0) x=-1; if(m-n>0){ x=1; printf("xx"); } if(n==6||m==n) x=0; else x=0; } while(x==-1){ n=n+x; printf("电梯下降到%d层\n",n); printf("哪一层有人按上\t哪一层有人按下\n"); scanf("%d%d",&I,&J); a[I]=1;c[J]=1; if(b ||c ){ printf("电梯停在%d层\n",n); printf("你要去哪一层?\n"); scanf("%d",&M); if(M<=6&&M>=0){ b[M]=1; } b =0; c =0; } for(j=0;j>6;j++){ if(b[j]) { m=j; printf("目标楼层%d\n",m); j=7; } } if(m-n<0) x=-1; if(m-n>0) { x=1; printf("yy"); } if(n==6||m==n) x=0; else x=0; } while (x==0){ if(c[3]&&n!=3) x=(3-n); else if(a[3]&&n!=3) x=(3-n); else if (c[4]&&n!=4) x=(4-n); else if (a[2]&&n!=2) x=(2-n); else if (c[5]&&n!=5) x=(5-n); else if (c[2]&&n!=2) x=(2-n); else if (a[4]&&n!=4) x=(4-n); else if (a[5]&&n!=5) x=(5-n); else if (c[6]&&n!=6) x=(6-n); else if (a[1]&&n!=1) x=(1-n); else{ printf("几楼有人要上楼?\t几楼有人要下楼?\n"); scanf("%d%d",&I,&J); while (I>=6||I<=0||J>6||J<=1){ printf("请重新输入:\n") ; scanf("%d%d",&I,&J); } a[I]=1; c[J]=1; if ((I+J)>2*n){ m=I; printf("目标楼层%d\t当前楼层%d\t此时上行\n",m,n); if(a ==1) { printf("电梯停在%d层\n",n); a =0; } else x=1; } if((I+J)<2*n){ m=J; printf("目标楼层%d\t当前楼层%d\t此时下降\n",m,n); if(b ==1) { printf("电梯停在%d层\n",n); c =0; } else x=-1; } if(I==n||J==n){ printf("你要去哪一层?\n"); scanf("%d",&M); m=M; if(m>n){ printf("目标楼层%d\t当前楼层%d\t此时上行\n",m,n); a =0; x=1; } if(m<n){ printf("目标楼层%d\t当前楼层%d\t此时下降\n",m,n); c =0; x=-1; } } } if(x>0) x=1; if(x<0) x=-1; } } }
相关文章推荐
- VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下运行
- java模拟电梯运行简单实现,swing界面
- VC++实现程序只运行一个实例 .
- [VC/MFC]实现程序运行时隐藏窗口 (多种方法,推荐方法2)
- 在VC++实现控制程序只运行唯一一个实例
- VC点滴 之 WinMain(windows程序的运行原理以及VC++的实现过程)
- 最强自定义PHP集成环境,系统缺失dll和vc也能正常运行
- 在VC++通过汇编实现获取代码运行时间
- windows程序的运行原理以及VC 的实现过程
- VC++实现程序只运行一个实例
- 基于VC 6.0 用C语言实现的俄罗斯方块
- 标题华为2016校招机试题(2015年9月) 海大上午场(包含实现代码,运行环境为vc)
- VC++实现程序只运行一个实例 (转)
- 基于linux用C语言编写的局域网通信软件(在ubuntu上正常运行)
- 用VC++实现控制程序运行一实例
- VC实现程序运行时隐藏
- 顺序栈的c语言实现(程序可运行)。。。2014.5.11
- 【C语言】在VC中使用gotoxy函数实现光标的移动
- VC++ 使MFC程序在没有装VC的电脑上正常运行方法
- 在VC++中实现让程序只运行一个实例的方法