数据结构 公交路线管理模拟系统(精品)

上传人:新** 文档编号:505656881 上传时间:2022-09-26 格式:DOC 页数:28 大小:505.50KB
返回 下载 相关 举报
数据结构 公交路线管理模拟系统(精品)_第1页
第1页 / 共28页
数据结构 公交路线管理模拟系统(精品)_第2页
第2页 / 共28页
数据结构 公交路线管理模拟系统(精品)_第3页
第3页 / 共28页
数据结构 公交路线管理模拟系统(精品)_第4页
第4页 / 共28页
数据结构 公交路线管理模拟系统(精品)_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数据结构 公交路线管理模拟系统(精品)》由会员分享,可在线阅读,更多相关《数据结构 公交路线管理模拟系统(精品)(28页珍藏版)》请在金锄头文库上搜索。

1、数 据 结 构课 程 设 计 报 告一、课程设计名称公交线路管理模拟系统二、实用工具软件Microsoft visual C+ 6.0三、课程设计内容简介1、 实践目的 1)、掌握图的概念、图的两种存储结构(邻接矩阵和邻接表)的存储思想及其存储实现;2)、掌握上机实现图的基本方法;3)、掌握有关图的操作并用高级语言编程实现;4)、熟练掌握图的深度、广度优先遍历算法思想及其程序实现;5)、掌握图的常见应用算法的思想及其程序实现。2、 实践要求1)、掌握本章实践的算法;2)、上机运行本章的程序,保存和打印出程序的运行结果,并结合程序进行分析;3)、按照你对图的操作需要,重新改写程序并运行,打印出文

2、件清单和运行结果;4)、注意理解各算法实现时所采用的存储结构;5)、注意正、逆邻接表。3、 系统简介及设计思路本项目是对公交车路线信息的简单模拟,以完成建立公交路线信息、修改公交路线信息和删除公交路线信息等功能。本项目的实质是完成对公交路线信息的建立、查找、插入、修改、删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。公交站点之间的关系可以是任意的,任意两个站点之间都可能相关。而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据之间都可能相关。所以可以用图形结构来表示n个公交站点之间及站点之间可能设置的

3、公交路线,其中网的顶点表示公交站点,边表示两个站点之间的路线,赋予边的权值表示相应的距离。因为公交路线是有一定的连续关系的,如果想输出从某一个起始点开始到某一终点结束的公交路线,就需要找到从某一点开始的第一个邻接点和下一个邻接点。因为在邻接表中容易找到任一顶点的第一个邻接点和下一个邻接点,所以本项目使用了图的邻接表存储结构。4、 程序设计流程为了创建公交路线,首先建立结构体载入公交车的相关信息:名称、司机、起始站、终点站、站数以及距离。利用邻接表把站点与站点之间的信息储存起来。用文件详细记载了路线信息,便于管理者初始化公交路线信息。再构造子函数来创建、及时修改、插入、删除公交信息、以及查询公交

4、路线是否出错,各站点之间的距离。用主函数来调用子函数,进入导航系统而进行操作。主函数(main)流程导航查询(initial)流程 汽车查询(包含车号、站台查询)流程新建(newb)流程修改路线(Modifyr)流程修改汽车(modifyb)流程删除汽车(delb)流程5、运行环境代码用C语言完成,布置在Microsoft visual C+ 6.0运行。Microsoft visual C+ 6.0具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft

5、 .NET框架。输入如下公交线路信息121141362734101716155891路 津A10001 司机1 6:00 123452路 津A10002 司机2 6:15 674817123路 津A10003 司机3 6:00 97310124路 津A10004 司机4 6:30 61311214175路 津A10005 司机5 7:00 15581610213创建示意图(1路)创建结束选择N回到主菜单,再选择A(导航查询)主菜单下选择B(公汽查询)就可以查询已有的公交信息,查询方式有公汽号查询、站台查询两种查询方式我们以公汽号查询(查询 津A10001)为例:返回到主菜单,选择D进入系统管理

6、我们以修改路线为例(修改 津A10001)最后在主菜单下选择E(清空数据)最后选择F即可退出程序。四、 得意与不足之处:1、得意之处:1)、可以根据题目需要翻阅图书馆资料自学C+程序,完成代码。2)、完成过程中思路清晰,可以根据实际进行分析设计、编程调试,能够熟练应用软件的分析方法和工程设计方法。3)、够按要求编写课程设计报告书,能正确阐述设计和实验结果便于管理者自由创建公交车的相关信息2、 不足之处:1)、程序太过繁琐,采用了一些不常用的语句2)、不能简易地查询任意两站之间的距离3)、不能查询任意的站点,只能查询起点和终点4)、不能任意输入两个站点,给出最优的乘车路线五、 自我感受:课程设计

7、是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。 在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同学的帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示感谢!八、参考文献:数据结构实践训练教程 刘光然 主编 南开大学出版社数据结构 严蔚敏 主编 清华大学出版社C语言程序设计 谭浩强 主编 清华大学出版社附录:#include #i

8、nclude #include #include struct bus char num30;/车号char driver50;/司机char stime30;/发车时间char start30;/起始站char end30;/终点站int z;/站数char *pr;/指向路线的首指针 struct bus *next;/下一辆车的结构体;struct bus *bhead=NULL;/放公汽信息的头指针struct bus *bi=NULL;/放公汽信息的最后的指针void initial() FILE *fp; fp=fopen(bus.txt,r); if(fp=NULL)printf

9、(nn无公汽信息文件!);return; fseek(fp,0,SEEK_END); int i,n; n=ftell(fp)/sizeof(struct bus); /printf(nnnn一共有%d辆公汽!,n); rewind(fp); struct bus *p;/for for(i=0;inext=NULL;/初始化时下一个指向空,都是一个个单独的 p-pr=NULL;/让路线为空/路线信息存放在文件名为” 车号 “的文件中;车号是唯一的 FILE *fp1; fp1=fopen(p-num,r); if(!fp1) printf(n%s号车无初始路线!,p-num); else c

10、har * p1; p1=(char *)malloc(p-z*40*sizeof(char) ); fread(p1,p-z*50*sizeof(char),1,fp1);/将路线写入内存 p-pr=p1; fclose(fp1); / printf(nnnn初始化%s号车路线成功!,p-num); /路线信息 if(bhead=NULL) bhead=bi=p; else bi-next=p; bi=p; /for结尾/printf(nnnn初始化%d辆车成功!,n);fclose(fp);void newb()loop1: printf(nnnn创建新公汽nn); struct bus

11、*p; p=(struct bus *)malloc(sizeof(struct bus ); p-next=NULL; p-pr=NULL;loop2: printf(n请输入新公汽号:nn); scanf(%s,p-num); struct bus *pj=bhead; while(pj) if(strcmp(pj-num,p-num)=0)printf(nn错误,该公汽号已经存在!nn); goto loop2; pj=pj-next; printf(n请输入新公汽司机姓名:n); scanf(%s,p-driver); printf(n请输入新路线发车时间nn); scanf(%s,p

12、-stime); loop3: printf(nnn请输入新路线总站台数(=2)nn); scanf(%d,&p-z); if(p-z=2) p-pr=(char *)malloc( p-z*50*sizeof(char) ); p-pr0=0; int i;char cc40; for(i=1;iz;i+) printf(n请输入公汽第%d站台名称:,i); scanf(%s,cc); if(i=1)strcat(p-pr,cc);strcpy(p-start,cc); elsestrcat(p-pr,-);strcat(p-pr,cc); strcpy(p-end,cc); printf(nn自动生成公汽路线%s,p-pr); else printf

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

当前位置:首页 > 建筑/环境 > 施工组织

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