22问答网
所有问题
程序题关于模拟十字路口的车辆通行情况的程序,用c++
关于模拟十字路口的车辆通行情况的程序,用c++(交通灯的变换,车辆的随机出现)可能有点抽象,给个思路就行,当然给出程序更好!
举报该问题
推荐答案 2009-02-02
十字路口有四条支道,每道支道上停着等着开往其它三条支道的车辆,每一个时间片段内只允许一条支道上的车辆行驶。
程序整体框架设计上可以采取事件驱动方式比较简单,即程序的主循环体每执行一次表示经历了一个时间片段,在这段时间内要计算四条支道上又增加了几辆车,有几辆车离开了十字路口,注意每随机产生一辆车时至少要包括它在哪条支道上出现要开往哪条支道等,或者反过来在这个时间片断内某条支道上出现了几辆开往特定支道的车辆。
不清楚你要模拟到何种程度,车辆在过十字路的时间可否忽略不计?车辆排队的长度是否也要考虑?不会说要用图形界面形象地演示吧?
如果你的模型足够简单,十字路口被简化成两条相交的直线,那么你只需要一组简单的对象(如12个整型变量)足以表征状态!当然可以还需要几个变量用于统计历史数据。
然而现实世界是足够复杂的,举个简单的案例:某个支道上已经排了很长的车队,交通灯指示当前这个支道上的辆车可以通行了,等你前面的车都开过了十字路口,终于轮到你的时候,时间已到红灯已亮!更为复杂的是交通灯的控制为了避免这种情况可能就不是等时间间隔地轮换了。车辆开开停停不是匀速运动,这点你也该很清楚的。
另外提醒你“车辆的随机出现”,不要以为只有一种均匀分布的随机数产生方式!通过一些公式可以换算出泊松分布什么的...
记住这是一个很有意思的算法设计课题,不要受OOP思潮的毒害,动不动就想到类什么的,我们要关心的是框架设计和流程控制。把它当作是几何题来理解更是可笑至极!
程序流程上还可以设计得更复杂些,就是用多线程去模拟多辆车,用事件去模拟交通灯,如果你愿意程序可以采取时间驱动的方式运作,更为接近现实世界。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/S0SShTIT.html
其他回答
第1个回答 2009-01-29
存在这么几个类
场景
车辆
指示灯
规则
怎么发挥就看你了
第2个回答 2009-01-30
实际就是3维空间中曲面的函数问题.
如果是多叉路口,(包括十字路口)的交通灯状态控制,实际就是四色问题 .
相似回答
c++
请你求出,这+c+秒中,有多少时间红绿灯是绿的?
答:
在c秒中,有多少时间红绿灯是绿的的
c++程序
如下(见图)
程序
设计(C语言)实验指导图书目录
答:
第2章软件工程初步,从软件工程的定义、特点和面临的挑战开始,接着讲解软件开发过程,包括需求分析、设计、实现和测试。案例分析部分以
十字路口
交通灯控制系统为例,详细阐述每个步骤。附录A列出了C语言编程中需要注意的一些关键点,如数据类型处理、避免溢出和格式错误等。第3章课程设计部分,包括模拟电梯、...
大家正在搜
交叉路口与十字路口
十字路口怎么让车
十字路口逆向行驶图解
新交规过十字路口车速
十字路口怎么让行
十字路口
十字路口掉头违章图解
十字路口限速规定
十字路口右转弯规则
相关问题
求编程大神看看代码怎么修改 题目:用c++程序模拟计算器的加...
未来教育的二级C上机软件在模拟做题,打开VC6.0++的时候...
用C++编写一个计算器程序。用户输入两个运算数和四则运算符,...
关于C++的题目,编写程序,用引用作为函数参数来实现两个整数...
用C++设计一简单的计算器模拟程序
用Visual C++编写的程序闪退
c++程序设计题
大一简单C++题求解 用两种分支语句编写实现任意两个数加减乘...