模拟电梯运行
一、题目要求
1、可以获得电梯所在楼层
2、电梯到达用户可以输入要去的楼层
3、电梯根据用户的指令到达所在楼层
二、设计思路
1、利用延时函数Sleep(),使电梯在经过每一层时有一个时间过程
2、通过获取电梯所在楼层和电梯要去的楼层可以算出一个到达时间
3、当电梯到达的时候,用‘\a’输出一个声音,用来表示电梯已经到达
三、程序源码
1 #include<iostream.h> 2 #include<windows.h> //Sleep延时函数,包含在这个头文件里 3 4 int main() 5 { 6 int a,b,c,m,i; 7 cout<<"**********模拟电梯运行************"<<endl; 8 cout<<"请输入电梯现在所在楼层:"; 9 cin>>a; 10 cout<<endl; 11 cout<<"请输入你现在所在楼层:"; 12 cin>>b; 13 cout<<endl; 14 if(b>=2&&b<8) 15 { 16 cout<<"电梯不停2~7楼!"<<endl; 17 cout<<"请输入你现在所在楼层:"; 18 cin>>b; 19 cout<<endl; 20 } 21 cout<<"请选择您乘坐的方向:"<<endl; 22 cout<<"上行(1)"<<endl; 23 cout<<"下行(0)"<<endl; 24 cin>>c; 25 if(c==1) 26 { 27 if(a<b) 28 { 29 cout<<"电梯估计在"<<3*(b-a)<<"s后到达你所在楼层!"<<endl; 30 for(i=a+1;i<=b;i++) 31 { 32 cout<<"电梯正在上行到第"<<i<<"层楼"<<endl; 33 Sleep(3000); //使用延时函数,表现电梯运行的时间间隔 34 } 35 } 36 else 37 { 38 cout<<"电梯估计在"<<3*(a-b)<<"s后到达你所在楼层!"<<endl; 39 for(i=b-1;i>=a;i--) 40 { 41 cout<<"电梯正在下行到第"<<i<<"层楼"<<endl; 42 Sleep(3000); 43 } 44 } 45 cout<<'\a'<<"电梯已到第"<<b<<"层,请进入电梯。"<<endl; //'\a'输出一个声音 46 cout<<"请选择要去的楼层:"; 47 cin>>m; 48 cout<<"关门中(2s)......."<<endl; 49 Sleep(2000); 50 cout<<"电梯估计在"<<3*(m-b)<<"s后到达你所去楼层!"<<endl; 51 for(i=b+1;i<=m;i++) 52 { 53 cout<<"电梯正在上行到第"<<i<<"层楼"<<endl; 54 Sleep(3000);; 55 } 56 cout<<'\a'<<"第"<<m<<"层已经到了!"<<endl; 57 Sleep(3000); 58 } 59 else 60 { 61 if(a<b) 62 { 63 cout<<"电梯估计在"<<3*(b-a)<<"s后到达你所在楼层!"<<endl; 64 for(i=a+1;i<=b;i++) 65 { 66 cout<<"电梯正在上行到第"<<i<<"层楼"<<endl; 67 Sleep(3000); 68 } 69 } 70 else 71 { 72 cout<<"电梯估计在"<<3*(a-b)<<"s后到达你所在楼层!"<<endl; 73 for(i=a-1;i>=b;i--) 74 { 75 cout<<"电梯正在下行到第"<<i<<"层楼"<<endl; 76 Sleep(3000); 77 } 78 } 79 cout<<'\a'<<"电梯已到第"<<b<<"层,请进入电梯。"<<endl; 80 cout<<"请选择要去的楼层:"; 81 cin>>m; 82 if(m>1&&m<8) 83 { 84 cout<<"电梯不在2~7楼停靠!"<<endl; 85 cout<<"请在8楼下,走楼梯步行!"<<endl; 86 cout<<"关门中(2s)......."<<endl; 87 Sleep(2000); 88 cout<<"电梯估计在"<<3*(b-8)<<"s后到达第8楼层!"<<endl; 89 for(i=b;i>=8;i--) 90 { 91 cout<<"电梯正在下行到第"<<i<<"层楼"<<endl; 92 Sleep(3000); 93 } 94 cout<<'\a'<<"第"<<8<<"层已经到了,请走楼梯,谢谢!"<<endl; 95 Sleep(3000); 96 } 97 else 98 { 99 cout<<"关门中(2s)......."<<endl; 100 Sleep(3000); 101 cout<<"电梯估计在"<<3*(b-8)<<"s后到达你所在楼层!"<<endl; 102 for(i=b;i>=m;i--) 103 { 104 cout<<"电梯正在下行到第"<<i<<"层楼"<<endl; 105 Sleep(3000); 106 } 107 cout<<'\a'<<"第"<<m<<"层已经到了!"<<endl; 108 Sleep(3000); 109 } 110 } 111 return 0; 112 }
四、运行截图
1、电梯不停2~7楼,因此会判断用户所在楼层是否可以乘坐电梯,运行如下:
2、正常情况运行如下:
五、结对总结
通过实地的对电梯的运行时间,运行过程的了解,再根据程序来实现电梯的模拟,使我们知道,有些事情可以通过编程来实现对具体事务的模拟
通过模拟,我们才能更好地理解某个事物,在此次实践性的试验中,我们又学到了编程的又一个很好的用途。