模拟电梯运行

一、题目要求

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、正常情况运行如下:

五、结对总结

    通过实地的对电梯的运行时间,运行过程的了解,再根据程序来实现电梯的模拟,使我们知道,有些事情可以通过编程来实现对具体事务的模拟

通过模拟,我们才能更好地理解某个事物,在此次实践性的试验中,我们又学到了编程的又一个很好的用途。

 

posted @ 2015-04-14 17:43  yuji-5656  阅读(445)  评论(0编辑  收藏  举报