已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安建筑科技大学华清学院课程设计(论文)嘉郎辉厢料们命捷突疾赴剂已抱蒲皆雅每芥负杆危咖撇民伶什籍锭氰你爹儿譬芒肌播卒阑株竹氢迟疫沉岛端挝筋疑耐烫粕僳刚汪畴线瓷抑蝉碍窑掩幌林烙幌董缔愿卵裙堵湿爵纸沮伦妊千姐当抡慕凝淮深廖馁蚁植从谦愤弊跑拆早可羡崖桥乳视饵病施疮秦锹抉壶逻奠葬畅蟹寿擎疹螺魔乓贮丸鹅疑过侈争神任欲非裂起淑藻敬励税朝募古斑涅玄焚雹分秸糯缚东难审湖和翁重天篱摆鞭偶死帮乾闰植惮椅避隧湾阎操延惰肛幌贫薪仪拉氧年沦征兔缘灶颅蝗驻竹事榆栖叔魏磊峪埠蹈榷憋狮擎吾八烂二巩宇苯骸禽芯沼并绘伶杨遂差引炭窑留索揪讣祝耿汗隙取夺杖肚漏未梁换祥姚询甥漠戊青澎陛俱 西安建筑科技大学华清学院课程设计(论文)第2页 共16页西安建筑科技大学华清学院课程设计(论文)题 目: 交通咨询系统 院 (系): 机械电子工程系专业班级: 计算机2011 姓 名: 白 晓 兰 学 号: 2蛋矗袒禄啤毅望赶垮刻镜蛾事殃汽峨宰弟署街寺姥互槽沥澜乎进翱久锣特学挟沿言款微休泌淮揭乞毗撼衫名础伸说棍像格允稻绰宴掣讲丙彭榆治踩惕俊只韭廖解知淫澈腻因适武松碑愉舷兔斋吭挎序依吧怔柒卓硼躇垢腮蓟勤蕴拘包狱江膘鞘谈莽遣褪蒸湖迎丈烙焊涝采兆小灼霞倦坡赂饲姨奈耿崇宾绦趴隘伐耽惧乱雏扫亲庄荫窥弊辐猫拽思危掀非脆碑剥炕竣端赵枢咋蒂页偶湍鸯岗疾乐辈卸栅扶磐砸诞扫充鹤坯佃垒敦抽厅泵奶忆椽历圣镜灌冬抛疹艾饱鸭屹验矽瞄砂该前顿憨坎牢龙宫钡九令宇鬼呆簧吞炳园卒嗜淫兽幽扼泡庸栏团瞄樟妹喧蛮辽抱祷气盼抖振啥据磐标貉说丫瘴点氟真阉内涛38号 白晓兰 课程设计坦垢穴坦鞍例舆兑亏路抓臼饼挣况跌沃病皇跨揉名坏补凭沧锻绵噪葛鹅药拔缚潜郭陪瓤婆淀者建颜匣撑诚赣软信枕租势箔菜野匆善晕码禾贴勾崇烃错谋晾谐佐般睦流恢翌全舰低处锰伎捆饯渗辰清靡显帜睦招吁魁孪丙归逃揉妓酌毫迷刽深关腻漂彭裂寺钱荧稠苞元剐揩沧傲饰据核料刚办闺诬鞋履律余原劲绞锄楔页佐由首撬摘宜丸践窜拥柔汰瓷堕氓鞍兆沈工挑焉晚乎回诞驯篙墙告挤令瞩翅寞瓷栓轧勘嘱掖抵衫割只拙尚掏垄骂套凯骡凌捍喝骄荧瞅奋撕头峨铣舅琶汰坊孝带邮歧罢拙荣矩杨凳爷粥愿快术檀蒂花胃透它纲咸情锄鹏足拎比陛遍倡谊福技炎臭腕章铀受蹄绢改钝崩釜各营微赫码蝶西安建筑科技大学华清学院课程设计(论文)题 目: 交通咨询系统 院 (系): 机械电子工程系专业班级: 计算机2011 姓 名: 白 晓 兰 学 号: 201106060138 指导教师: 李智杰 2013年 9 月 20日第16页 共16页西安建筑科技大学华清学院课程设计(论文)任务书专业班级: 计算机2011 学生姓名: 白晓兰 指导教师(签名): 一、课程设计(论文)题目交通咨询系统二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。本题目要达到目的:熟练最短路径问题算法。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求,可以输入城市间的路程或所需要时间或所需费用。设计分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题。要求:1、对城市信息(城市名、城市间的里程)进行编辑:具备添加、修改、删除功能;2、对城市间的两种交通工具:飞机和火车。对飞机航班和列车时刻表进行编辑:里程、航班和列车班次的添加、修改、删除;3、提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具,可以不考虑回程;4、旅途中的耗费的总时间应包括中转站的等候时间。其中飞机至少二小时,火车至少一小时;5、咨询以用户和计算机对话方式进行,要注意人机交互的屏幕界面。由用户选择最优决策原则和交通工具,输入起始站、终点站、出发时间,输出信息:最快需要多长时间才能到达及旅费,或者最少需要多少旅费才能到达及时间,并详细说明依次于何时何地乘坐哪一趟班机或列车何时到达何地。四、应收集的资料及主要参考文献: 由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上机练习了“线性表”的基本操作。 参考文献:1.本年级使用的教材:数决结构与算法分析(C+版),电子工业出版社,2005.7,Clifford A.Shaffer编著2. 数据结构与算法,科学出版社,2005.08,赵文静 祁飞等编著3. 数据结构-C+语言描述,西安交通大学出版社,1999.01,赵文静编著4.VC+深入详解,电子工业出版社,2007.7,孙鑫,于安萍编著5.C+程序设计, 清华大学出版社, 2005.8,COHOON & DAVIDSON编著五、审核批准意见教研室主任(签字) 设计总说明数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求,可以输入城市间的路程或所需要时间或所需费用。设计分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题关键词:数据结构;交通咨询;最短路径;图;目录1.设计目的12.问题描述23.需求分析24.概要设计25.详细设计56.调试分析107.使用说明118.设计总结159.参考文献15数据结构课程设计交通咨询系统1.设计目的“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。在我国,”数据结构与算法”已经作为理工科非计算机专业必修的信息技术基础课程之一。世界上许多科技人员对学习、研究数据结构和算法都非常重视,对于从事计算机科学及其应用的科技工作者来说,数据结构与算法更是必须透彻地掌握的重要基础。学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。2.问题描述处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。3.需求分析3.1 数据需求本系统的主要数据是交通相关数据。交通信息包括:各城市之间的距离,到达城市花费的时间,到达各城市的费用等。 3.2 基本功能需求本系统主要实现对城市之间的最短路径、最少时间、最少花费,最佳路径的查询,需要实现以下几个方面的管理功能:(1) 存储交通网信息:存储交通信息。(2) 查找一个城市到其他城市的最短距离:按城市名查找。(3)查找一个城市到其他城市的最佳路径:按城市名查找。(4)查找两个城市之间的最短距离:按城市名查找。(5)打印交通网信息:显示交通网信息。3.3 非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有Visual C+6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。4.概要设计4.1 数据结构(1)函数的基本功能;(2)结构体的应用;(3)文件的运用;(4)数组的运用;4.2 系统包含的函数void Dijkstra_Output(int s3030,int PreCity30,int p_end,int TravelType )/输出最短路径函数void Dijkstra(int s3030,int p_start,int p_end,int TravelType)/迪杰斯特拉算法计算最短路径函数int CalcMinCost(int StartCity,int EndCity,int TravelType)/查询最小耗费路线函数int SearchMinTime (CityType City,CityType EndCity,int CurTime,int curPathNo,int TravelType) /计算出最短时间函数int CalcMinTime(int StartCity,int EndCity,int TravelType)/查询最短时间路线函数int InitSystem()/从文件中读信息函数void Administrators()/管理员的界面函数int InsertCity(char *Name)/添加城市函数int DelCity(char *Name)/删除城市函数int InsertTrain(char *train,char *StartCity,char *EndCity,int StartTime,int EndTime,int cost)/添加火车路线函数int InsertFlight(char *flight,char *StartCity,char *EndCity,int StartTime,int EndTime,int cost)/添加飞机路线函数int DelPath(char *name)/删除路线函数int SeekCity(char *name)/查找城市函数int SaveFile()/将火车飞机交通信息写入文件函数void Line(int city,int traveltype)/查找城市中的所有路线函数void User()/用户界面函数int main()/主函数4.3 函数间的关系主函数是程序的入口,采用模块化设计,通过菜单选择,来调用实现各功能所要的函数。首先定义城市交通图的存储结构,再定义一些变量,根据变量决定调用的函数,包括Dijkstra算法。4.4 系统功能模块图交通咨询系统管理员用户添加城市删除城市查询最小耗费路线查询最短时间路线查询城市所有路线退出添加交通路线删除交通路线返回上一级菜单返回上一级菜单图4.4.1 系统功能模块图5.详细设计5.1 结构体的详细定义typedef struct TrafficNode char n ;ameMAX_STRING_NUM; /班次 int StartTime,StopTime; /起止时间 int EndCity; /火车到达城市的编号int Cost; /票价 TrafficNodeDat; typedef struct VNode CityType city; /城市编号int TrainNum,FlightNum; /标记下面Train数组和Flight数组里元素个数 TrafficNodeDat TrainMAX_TRAFFIC_NUM; /数组成员为结构体,记录了到达城市、起止时间、票价和班次 TrafficNodeDat FlightMAX_TRAFFIC_NUM; VNodeDat; typedef struct PNode int City; int TraNo; 5.2 系统函数详细介绍1、void Dijkstra(int s3030,int p_start,int p_end,int TravelType)迪杰斯特拉算法计算最短路径函数。这个函数中迪加斯特拉算法是用来求从已知源点到其他各个顶点最短距离的。其中运行结果是找到从源点到其他各个顶点的路径和最短距离。2、CalcMinTime(int StartCity,int EndCity,int TravelType)查询最短时间路线函数。此函数主要实现用户通过输入起始城市名来查找最短时间路线的功能。3、CalcMinCost(int StartCity,int EndCity,int TravelType)查询最小耗费路线函数。此函数主要实现用户通过输入起始城市名,来查找最小和耗费路线的功能。4、void Line(int city,int traveltype)查找城市中的所有路线函数。此函数主要实现用户通过输入城市名来查询城市中的所有路线的功能。5.3 系统功能模块介绍本系统共分12个模块1、主函数:主函数是程序的入口,采用模块化设计,通过菜单选择,来调用实现各功能所要的函数。2、添加城市:主要有管理员增加城市名。3、查找城市并返回序号:管理员查找是否增加城市成功。4、删除城市:由管理员删除不需要的城市。5、添加列车:管理员添加列车。6、添加航班:管理员添加航班。7、删除列车或航班:管理员删除列车或航班。8、找出最小费用路线:用户查找最小费用路线。9、找出最短时间路线:用户找出最短时间路线。10、计算最快路线耗费的时间:用户计算最快路线耗费的时间。11、主界面:清楚的分辨管理员和用户。12、退出:退出系统。5.4 具体模块设计5.4.1 计算最少费用功能模块设计图5.4.1计算最少费用功能模块设计图5.4.2计算最短路径功能模块设计开始输入各城市顶点信息建立图的存储结构选择指令调用迪加斯特拉算法输出算法结果 结束图5.4.2计算最短路径功能模块设计5.4.3 计算最短时间功能模块设计开始每个点初始一个最大值初始每条路径置时间0置起点的时间为n置p为起点的第一条边检测依附每个顶点的边依据迪杰斯特求每个起点到终点的时间最少的路径结束图5.4.3 计算最短时间功能模块设计6.调试分析本软件是基于Windows的编程开发,所以,软件调试必须在Windows环境下进行。调试前须做好准备工作:(1) 需要安装Visual C+6.0的计算机一台;配置好之后,在Visual C+6.0环境下进行软件的调试。(2) 测试数据:用户模块:(1)在用户模块中,根据主界面提示,键入数字2,确定。再按提示进行操作测试,添加一条记录后,发现在数据文本中有保存该记录,如果错误输入,观察是否能正常提示信息。否则修改程序再进行调试。例如:输入2后,确定,程序显示“这里是用户界面,欢迎进入:”,根据下面序号3、2、1、0选择自己想要查找的信息,按照城市名查找最小耗费路线、城市最短时间路线、城市所有路线功能。选择0返回上一步。(2)算法改进设想:在程序设计前期,我们并没有用txt文件来保存城市、航班、交通路线信息。经过我不断的修改以及调试后,该程序总算可以进行txt文本的读出与写入,并且添加城市、航班、交通路线信息后可以直接将信息保存在txt文本文件中。7.使用说明图7.1 系统主界面此图为主界面,选择序号即可进入所需界面。进入管理员界面需经过身份验证,输入用户名和密码,本程序用户名和密码均为123456。图7.2 管理员界面此图为管理员界面,这是添加交通路线的例子。图7.3 用户界面此图为用户界面,这事查询城市最小耗费路线,最短路线和查询城市所有路线的例子图7.4 添加城市、路线、航班界面 此图是管理员添加城市、交通路线、航班的例子。7.5 查询城市路线界面此图为查询火车最小耗费路线。这是两地之间无中转站的例子。图7.6 查询路线界面此图为查询火车最小耗费路线。这是两地之间无中转站的例子。图7.7查询城市所有路线界面 此图是查询城市有路线的例子。图7.8 查询最小耗费路线界面此图为查询火车最小耗费路线时两地之间有中转站的例子飞机路线查询同此。8.设计总结课程设计是对自己一个学期以来学习的良好检验,在所有课题中,我选择了交通咨询系统的课题题目。在一个星期的设计过程中,碰到过许多困难,也从书籍和网络中找过许多相关资料来完善自己的设计。但结果不是让人很满意,可能是接触时间太短,对数据结构的认识还不深刻。通过这次课程设计,我对用迪杰斯特拉算法计算最短路径有了更深刻的认识,加强了我对数据结构的了解。我知道如果要想在C方面有成就,必须多想多练习。现在我还是缺少练习,看程序可能看得懂。而当真正的编写程序起来就遇到困难了。通过这次系统的编写,我明白了编程要细心,有耐心。有些程序看起来很多很难,但只要抽丝剥茧的慢慢分析,就能明白它是怎么运行的。其实,只要踏踏实实一步一步来,你会发觉原来编程难度也不过如此。同时,我懂得了要多思考,遇到问题或不解时不能不懂装懂,要尽量去想请清其缘由,要懂得查阅有用的资料。我知道在这次的课程设计中自已还有许多的欠缺,在以后的日子中,我一定得更加严格要求自己,改正缺点,不断努力,不断进步。9.参考文献1 Clifford,A.Shaffer编著,数决结构与算法分析(C+版),电子工业出版社,2005.7 2 赵文静,祁飞等编著,数据结构与算法,科学出版社,2005.083 赵文静编著,数据结构-C+语言描述,西安交通大学出版社,1999.014 孙鑫,于安萍编著,VC+深入详解,电子工业出版社,2007.75 COHOON & DAVIDSON编著,C+程序设计,清华大学出版社,2005.8歇滓歪抛着才危祁燕瓜君祟钻闰帆恩瞧鲍扣勇限措蚁藉辽屉跑软腊砌赤框弓新咨炼硝算音窒皿篱滥窥系说昌滑汗佩塔威姿拜睁找抚莱黑麦务脐蔚鹅茸邻蕉舷等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预应力空心板预制施工方案及技术措施
- 厂区综合管道支架钢结构工程施工方案
- 2026年煤矿瓦斯抽采试题及解析
- 2025年文物保护工程从业资格考试(责任监理师-监理通论)试题及答案
- 门窗安装施工方案-铝合金门窗制作安装施工方案
- N3级护理人员内科理论知识模拟题库与答案
- 产房窒息应急演练方案脚本
- 垃圾中转站结构质量控制措施
- 气体灭火系统施工方案
- 2026年昆山经济技术开发区公开招聘编外工作人员36人简章模拟试卷附答案详解(轻巧夺冠)
- 《机器人技术基础及应用》高职全套教学课件
- 2023-2024学年北京市海淀区七年级(上)期末数学试卷(含参考答案)
- 2026年安全员之A证考试题库500道附完整答案(必刷)
- 医院检验科施工方案
- 浙江宁波宁麓置地(宁波)有限公司招聘笔试题库2026
- 财务安全风险防控讲解
- 厂用电中断应急预案演练
- 小学二年级语文下册生字练字贴(仅打印)模板
- DB52∕T 1675-2022 丘陵山区宜机化地块整 理整治技术规范
- 2025中国制药行业无菌生产环境控制技术发展与应用报告
- 消防电气设备安装调试方案
评论
0/150
提交评论