编写一个程序,模拟电梯运行

编写一个程序,模拟电梯运行,第1张

按你的要求写了这个程序。试运行正常。

程序运行截图如下:

希望对你有帮助!

【百度知道】土堆上的石头

#include<stdio.h>

void main()

{

int n=10,set,end,i

printf("本电梯一共%d层。\n",n)

printf("请输入你所在的楼层:\n")

while(1)

{

scanf("%d"扮纯,&set)

if(set>=1&&set<=n)

 break

printf("没有第%d层,请重新输入:\n",set)

}

printf("你现在在第%d层。\n",set)

printf("请选择:\n1.上行\n2.下行\n")

while(1)

{

scanf("%d",&i)

if(i>=1&&i<=2)

 break

printf("选择数字错误,请重新输入:\n")

 }

if(i==1)

{

while(1)

{

 printf("请输入你要去的楼层:\n")

 scanf("%d",&end)

    if(end>=1&&end<=n)

 {

  if(end>=set)

   break

  else

   printf("此为上行,请输入较高层的层厅宴咐数。\n")

 }

 else

  printf("没有第%d层,请重新输入:\n",end)

}

printf("电梯上行中……\n")

for(i=seti<=endi++)

 printf("现在到了第%d层。\n",i)

printf("第%d层已到!\n",end)

 }

if(i==2)

{

while(1)

{

 printf("请输入你要去的楼层:\n")

 scanf("%d",&end)

    if(end>=1&&end<=n)

 {

  if(end<=set)

   break

  else

   printf("此为下行,请输入较低层的层数。\n")

 }

 else

  printf("没有第%d层,请重新输入:\n",end)

}

printf("电梯上行祥尺中……\n")

for(i=seti>=endi--)

 printf("现在到了第%d层。\n",i)

printf("第%d层已到!\n",end)

}

}

最佳答案代码如下:

public class ElevatorModel implenent ElevatorModelListener{

ElevatorShaft elevatorShaft//电梯车箱

Floor firstFloor

Floor secondFloor

public void addPerson(Person person)

//实现ElevatorModelListener接口的所有方法

}

public abstract class Location{

String locationName//可能占据的三个位置firstFloorsecondFloorelevator中的其中一个位置。

public Button getButton()

public Door getDoor()

}

public class Floor extends Location{

public Floor(String firstFloor,String secondFloor)

public Button getButton()//具体实现

public Door getDoor()//具体实现

public ElevatorShaft getElevatorShaft()

}

public class Door implenent ElevatorMoveListener{

boolean open//门是开的关的

public void openDoor()//开门

public viod clossDoor()//关门

}

public class Button implenent ElevatorMoveListener{

boolean pressed

public void pressButton()//按下按钮

public void resetButton()//释放按钮

public void elevatorArrived()//电梯到来

}

public class ElevatorShaft{//电梯乘箱

Elevator elevator//电梯

Button firstFloorButton,secondFloorButton//出发层的按前皮钮和到达层的按钮 Door firstFloorDoor,secondFloorDoor//出发的门和到达的门

Light firstFloorLight,secondFloorLight//灯

//监听器

DoorListener doorListener

ButtonListener buttonListener

LightListener ligthListener

BellListener bellListener

ElevatorMoveListener elevatorMoveListener

Set set

}

public class Light implenent ElevatorMoveListener{

boolean lightOn//代表灯的状态,亮或灭

public void turnOnLight()

public void turnOffLight()

public void elevatorDeparted()//具体实现族裤

public void elevatorArrived()//具体实现慧穗差

}

public class Bell implenent ElevatorMoveListener{

public void ringBell()

public void elevatorDeparted()//具体实现

public void elevatorArrived()//具体实现

}

public class Elevator extends Location implenets

ButtonListener,DoorListener,BellListener,Runable

{//电梯乘箱

boolean moving

boolean summoned//描述Elevator是在移动还是已经补召唤

Floor currentFloor//当前正在提供服务的Floor

Floor destinationFloor //代表将要到达的Floor

Button elevatorButton

Door elevatorDoor

Bell bell

public void run()// 实现

public void requestElevator()//请求Elevator并产生排队请求。 }

public class Person extends Thread{

Location类对象(或是位于Floor上,或是出处在Elevator中)int ID

boolean moving

public void run()//具体实现

public void enterAndRideElevator()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12401465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存