课程设计实验报告(含全部)

课程设计实验报告(含全部)

ID:43732297

大小:422.97 KB

页数:37页

时间:2019-10-13

课程设计实验报告(含全部)_第1页
课程设计实验报告(含全部)_第2页
课程设计实验报告(含全部)_第3页
课程设计实验报告(含全部)_第4页
课程设计实验报告(含全部)_第5页
资源描述:

《课程设计实验报告(含全部)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、TALTIJ4NIZPffVEItRITYQFTECHHQLQMFT程序设计课程设计报告学院:软件学院专业:软件工程班级:1217班学号:201200xxxx201200xxxx201200xxxx201200xxxx姓名:xxxx、xxxxXXXX、xxxx指导教师:张辉时间:2024年6月目录交通咨询系统1.问题描述2.设计需求及分析3.设计功能的实现3.1算法思想描述3.2概要设计3.3详细设计4.实例测试及运行结果5.实现提示二.停车场管理系统1.问题描述2.设计需求及分析3.设计功能的实现4.实例测试及运行结果5.实现提示

2、三•学生管理系统1.问题描述2.设计需求及分析3.设计功能的实现4.实例测试及运行结果5.实现提示交通咨询系统专业:软件工程班级:软件12xx姓名:xxx学号:201200xxxx完成日期:2014.6.261.问题描述设计一个交通咨询系统,能让旅客咨询从任一个城市定点到另一个城市定点之间的最短路径或最低花费或最少时间等问题。对于不同的咨询要求、可输入城市间的路程或所需时间或所需花费。设计耍求:1.建立交通网络网的存储结构。2.总体设计要画流程图。3.提供程序测试方案。4.界面友好。2.设计需求及分析根据要求,需要在系统中建立无向图

3、。系统应该有高度灵活性,可以由用户根据当前交通网络图输入初始数据,并且可以更改。系统根据用户的输入建立无向图的结构,并通过狄克斯特拉算法和弗洛伊德算法实现要求,并提供两种功能供用户选择。3・设计功能的实现3.1算法思想描述首先总体的思想步骤是:(图1-1)狄克斯特拉算法的具体流程图如下:(图「2)弗洛伊德算法的具体流程图如下:(图1-3)3.2概要设计系统应该分为三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点Z间的最短路径问题。1、建立图的存储结构:无向图首先定义交通图的存储结构。邻接矩阵是

4、表示图形屮顶点Z间相邻关系的矩阵。设G=(V,E)换厅蒂辆理精图■咖苦將輙矩阵是具有如下定义的n阶方阵。Ar;“0或oo,当不满足上述条件时。一个图的邻接矩阵表示是唯一的。图的邻接矩阵表示,除了需要用一个二维数组存储顶点之间相邻关系的邻接矩阵外,通常还需要使用一个具有n个元素的一维数组来存储顶点信息,其中下标为i的元素存储顶点vi的信息2、单源最短路径:狄克斯特拉算法初始化S和D,置空最短路径终点集,置初始的最短路径值;S[vl]=TRUE;D[vl]=O;〃S集初始时只有源点,源点到源点的距离为0;while(S集中顶点数vn){

5、开始循环,每次求得vl到某个v顶点的最短路径,并加v到S集中;S[v]=TRUE;更新当前最短路径及距离;}3、任意一对顶点间最短路径:弗洛伊德算法假设。订倉为从j到j的只以集合中的节点为中间节点的最短路径的长度。1.若最短路径经过点k,则臥“=D為仓742.若最短路径不经过点k,则型总。=因此,最短路径耳麻=5応口辟T3.3详细设计程序源代码如下:ffindude#include^defineNum300〃定义常址Num偕defineMaxint32767enumboolean{FALSEJR

6、UE};〃定义布尔类樂typedefcharVertexType;typedefintAdjmatrix;typedefstruct{VertexTypevex$(Num];Adjmatrixarcs[Num](Num];}MGraph;intDl(Num],Pl[Num);intD[Num][Num]rP[Num][Num];voidCreateMGraph(MGraph"GJiHnjnte);〃构建域市的无向图的声明voidDijkstra(MGraph•G,intvl,intn);〃狄克斯特拉算法的声明voidmain(){M

7、Graph*G;〃定义无向图Gintn,ezv,w,k;intm=l;G=(MGraph♦)malloc($ixeof(MGraph));printfC欢迎使用【交通咨询系统】!本系统约定:l•记一个城市为一个点.点用从1开始按順序的編号表示.两个城市的连线为一条边;"2•程序要求输入的文本都是按回车进行确认;记・程序输入输出均不带单位,单位默认为“公里".-);printf「系统需要知道地图的结构,请输入阳点个数和边数,用号尿开:W);scanf(M96d,%护,&n,&e);CreateMGraph(G,n,e)

8、;〃调用CreateMGraph有向图函数〃弗洛伊德算法的声明voidFloyd(MGraph*GJntn);printf("======================================================

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。