按你的要求写了这个程序。试运行正常。
程序运行截图如下:
希望对你有帮助!
【百度知道】土堆上的石头
#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()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)