智能交通仿真系统C语言成设计报告

上传人:cl****1 文档编号:403028938 上传时间:2023-05-11 格式:DOCX 页数:133 大小:241.13KB
返回 下载 相关 举报
智能交通仿真系统C语言成设计报告_第1页
第1页 / 共133页
智能交通仿真系统C语言成设计报告_第2页
第2页 / 共133页
智能交通仿真系统C语言成设计报告_第3页
第3页 / 共133页
智能交通仿真系统C语言成设计报告_第4页
第4页 / 共133页
智能交通仿真系统C语言成设计报告_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《智能交通仿真系统C语言成设计报告》由会员分享,可在线阅读,更多相关《智能交通仿真系统C语言成设计报告(133页珍藏版)》请在金锄头文库上搜索。

1、C语言课程设计报告交通智能图形仿真系统题 目:交通智能图形仿真系统学号:学号:指导教师: 上交日期:!引言31.1 智能交通的背景31.2 编写目的31.3 任务概述42需求分析42.1 需求分析42.2 运行环境53系统设计63.1 功能需求描述63.2 程序流程图63.3 功能和操作简介(界面)63.4 程序模块划分123.5 程序中的名词定义及注释164算法分析204.1 核心算法分析204.2 其他函数算法分析245程序总结385.1 编程过程中的疑难点处理385.2 程序不足之处416组员分427参考资料428具体函数解释及原代码421.1 背景智能交通系统(IntelligentT

2、ransportationSystem,简称ITS)是未来交通系统的发 展方向,它是将先进的信息技术、数据通讯传输技术、电子传感技术、控制技术 及计算机技术等有效地集成运用于整个地面交通管理系统而建立的种在大范 围内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。ITS可 以有效地利用现有交通设施、减少交通负荷和环境污染、保证交通安全、提高运 输效率,因而,日益受到各国的重视。 21世纪将是公路交通智能化的世纪, 人们将要采用的智能交通系统,是一种先进的一体化交通综合管理系统。在该系 统中,车辆靠自己的智能在道路上自由行驶,公路靠自身的智能将交通流量调整 至最佳状态,借助于这个系统

3、,管理人员对道路、车辆的行踪将掌握得一清二楚。1.2 编写目的通过对十字路口智能交通和交通规则的过程分析,建立模拟十字路口交通仿 真的图形界面操作系统,对其红绿灯、车辆运行、车辆减速等多个方面的功能模 拟,实现模拟真实的十字路口交通仿真的流程。此次C语言课程设计是本专业的第一次课程设计,具有重要的意义:通过上个 学期对C语言的学习,对C语言编程有了初步的了解,获得了一定的基础但是非常 缺乏实际的编程经验,无法从质上对自己的编程技巧有一个很大的提高,这次的 课程设计给我们提供了一个非常好的锻炼机会。通过二个人的分工合作,在实际 中运用和训练程序设计的模块化和工程化思想和技术,努力掌握c语言精髓;

4、同 时提高自己的交流与团队合作的能力.为以后的更专业更复杂的课程设计和实践 活动打好基础。实现十字路口的交通运行的全过程模拟,设置东西南北四条路及东西南北四条路 所对应的路灯,系统控制路灯亮色情况,并且使车辆在路灯的控制下有序进行交 通模拟。如果车辆都驶出界面,仿真模拟结束。程序具备以下功能:车辆数目随机产生:由系统随机产生四个方向行驶车辆的数目车辆数目人工添加:人工输入四个方向行驶车辆的数目路面交通智能化:根据交通规则,合理安排路灯情况,使车辆行驶效率最优化 控制自动化:根据路面情况和路灯情况判断车辆的行驶情况统计功能:统计次仿真的数据,并进行分析要求以十字路口为对象,图形化模拟马路、路灯、

5、车辆的一体化交通流程;能对 路面情况的进行设计、控制、优化和统计等功能。二.需求分析2.1 需求分析智能交通系统具有以下两个特点:是着眼于交通信息的广泛应用与服务, 二是着眼于提高既有交通设施的运行效率。 与一般技术系统相比。智能交通 系统建设过程中的整体性要求更加严格.这种整体性体现在:(1)跨行业特点。智能交通系统建设涉及众多行业领域,是社会广泛参与 的复杂巨型系统工程,从面造成复杂的行业间协调问题。(2)技术领域特点。智能交通系统综合了交通工程、信息工程,通信技术、 控制工程、计算机技术等众多科学领域的成果,需要众多领域的技术人员共同协 作。(3)政府、企业、科研单位及高等院校共同参与,

6、恰当的角色定位和任务 分担是系统有效展开的重要前提条件。(4)智能交通系统将主要由移动通信、宽带网、RFID、传感器、云计算等 新一代信息技术作支撑,更符合人的应用需求,可信任程度提高并变得“无处不 在“。我们用TC3. 0编写的C语言程序来模拟自动售货机的控制及各种操作过 程。该系统给予tc2. 0和bc3I开发,适用于dos3. 0以上的所有dos版本和 windows操作系统;本软件设计中加入了鼠标和键盘操作,因此操作过程必须依 赖鼠标和键盘才能实现所有功能;本软件对于显示卡无特殊要求;本软件可以允 许用户自定义些参数,具有良好的人机交互性。本软件主要的输入方式是动画模拟,通过分页动画实

7、现小车的步进,通过函 数判断控制小车步进方式。实际操作中需要输出信息将采用菜单的模式传递给用 户。除此之外无其他特殊要求;出现图形无法显示或图形显示效果差处理办法:检查显示卡驱动是否正 常;出现某些子程序的初始化无法正常完成处理办法:显示初始化失败的位 置,并退出程序;出现空间分配失败处理办法:显示为内存不够,退出程序 并检查内存利用情况;系统设计3.1 功能需求描述进入主界面,可以选择所需的系统信息和仿真入口,并进行点击。进入车辆数目设置界面,选择车辆数目生成方式:随机生成或自定义。若选择随机生成,则由系统随机产生东西南北四个路口车辆的数目,若选择 自定义,则由用户从输入框输入车辆数目进行定

8、义。进入仿真界面,则由键盘控制仿真界面的开始与暂停,仿真从进入仿真界面 第一次按下空格键开始,到车辆全部驶出屏幕结束。3.2 程序流程图(见附录)3.3 功能和操作简介(界面)菜单界面一点击“操作介绍”出现仿真操作说明,点击“关于我 们”出现编写者姓名、学号,点击“进入模拟”进入菜单界面2,进 行路口车辆输入。按-。键退出介绍点“进入模拟”开始设置操作介绍进入模拟西路自定义随机设定开始模拟关于我们北路南路现在开始吧进入菜单界面2设置各个路口车辆数目:点击“随机设定”由系 统自动生成四个。20路口的数目,点击“自定义”将由用户手动输 入路口车辆数目,点击“开始模拟”进入仿真界面单击路口名称东路南

9、路北路可输入该路口车辆数目整数,否则程序将跳出隨机设定开始模拟输入规则:必须输入0-20之间的菜单界面设计图纸进入仿真界面开始车辆仿真,按任意键退出仿真界面设计图纸3.4 程序模块划分在程序模块的分析中,为了方便理清函数之间的调用关系,我们采用了函数级别 的定义方式。自顶向下级次增高,在某些模块中被多次调用的小功能函数定义为 该模块的工具函数。故main函数被定义为级函数,在main函数中被直接调用 的子函数定义为二级函数,依此类推主函数模块:#includenmain.hH void main()(int gd=VGA,gm=VGAHI;initgraph(&gd,&gm,Mc:tc30bg

10、in);cleardevice();readbmpwel();读取欢迎图片cleardevice();closegraph();initgraph(&gd,&gm,nc:tc30bgiM);menu();执行菜单函数getch();closegraph();主函数main ()中除了调用welcome ()函数显示欢迎画面和menu ()函数进入 菜单界面;主要子函数是调用的fzxt()函数,,menu()函数即菜单选择模块的根函 数。下面分别来介绍这个主要模块。、图形模块:主要是仿真界面:马路、路灯和车辆二、鼠标模块:包括鼠标的图形,鼠标状态。三、汉字模块:中文显示四、菜单模块:1:菜单界面

11、a:查看仿真操作说明查看程序编写人员详情进入仿真设置2.菜单界面b:设置东西南北各个路口的车辆数目文字框输入五、交通仿真模块:车辆控制、车辆警报检测、车辆动画路灯控制、路灯动画图形模块此模块用于路面、交通灯及车辆的绘制。本模块的核心函数:void draw ();本模块的三级函数:(被void fzxt ()调用)Void draw_avenue ()画路面的函数Void draw car ()Void draw lamp()画路灯的函数画车辆的函数鼠标汉字模块void shubiao()对鼠标初始化void cursor(int a, int b)在(a, b)点画鼠标int read (i

12、nt *x, int*y , int*buttons)调用中断来读鼠标的状态如果鼠标不动,这直在里面循环, 直到鼠标状态改变或是按键,就退出循环void neyxy(int *x, int*y , int*buttons)鼠标移动的函数,通过read的返回值在异或的模式下,覆盖原来的鼠 标和画新的鼠标。Outtextxy (int, int , char *, int)汉字输出交通系统仿真模块(核心)车辆控制模块Void initialize_car(struct CAR *p, int n)车辆初始化(坐标、角度、方向) void judge_alarm_line(struct CAR *p

13、)车辆警戒线判断函数void judge_alarm_car(struct CAR *p, int al, int a2, int a3, int a4)void车辆周围警报判断函数 judge_alarm_lamp(struct CAR *p, struct LAMP *pl)车辆对应路灯情况判断控制小车步进的函数 控制小车速度的函数 车辆在警戒线前的步进情车辆在警戒线后的步进情void control_car (struct CAR *p, struct LAMP *pl, int al, int a2, int a3, int a4)void control_speed(struct C

14、AR *p)void stepl (struct CAR *p)况void step2 (struct CAR *p )况路灯控制模块void initialize_lamp(struct LAMP *pl)路灯初始化(坐标、颜色)void control_lamp(struct LAMP *pl, int g, int *flag)路灯颜色控制菜单模块void menu()!画菜单1的函数void menu_one_choose(FRAME *)!鼠标操作菜单 1 的函数int mouseon (FRAME *);判断鼠标是否在文字的杉树void bklight (FRAMEMOUSESTATE *);出现鼠标在文字框上的效果void drawframebl(FRAME );void draw_frameb2(FRAME );void howtowork ();void aboutus ();void simenu(MOUSESTATE *);void menutwochoose(FRAME大文字框小文字框出现操作介绍文字框的函数出现关于我们文字框的函数画菜单界面2的函数*, FRAME *, MOUSESTATE *): 鼠标键入各个路口车辆数目的操作菜单界面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号