C语言课设校园导游Word文档格式.docx
《C语言课设校园导游Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课设校园导游Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
所需功能如下:
2.2数据需求
所涉及到的数据如下:
结构体,栈,表格(菜单),数组
(1)输入数据:
景点编号(0-9)
(2)输出数据:
编号,名称,信息(数字和中文)
2.3性能需求
性能简介:
安全性高、可靠性强、稳定性强、响应速度快
3总体设计
3.1系统设计方案
通过一个主函数对各个子函数的调用实现所需功能:
(1)菜单如下:
欢迎来到沈阳航空航天大学
祝你:
旅途愉快
1.浏览校园全景
2.查看所有游览路线
3.选择出发点和目的地
4.查看各景点信息
5.退出系统
诚心为你服务-请选择(输入编号.回车结束):
(2)抽象数据类型定义:
数据对象:
V(顶点)
数据关系:
R={VR}
VR={<V.R>}
(3)存储结构:
邻接表
(4)算法设计:
主要应用:
迪杰斯特拉算法,弗洛伊德算法,输入输出函数
3.2功能模块设计
浏览校园全景
查看所有游览路线
求最短路径
查看各景点信息
图1功能模块图
(1)浏览校园全景模块
该模块部分通过一个函数输出所有景点的编号,名称,信息。
(2)查看所有游览路线模块
该模块是对游客当前所在位置提供可游览的所有景点。
(3)球最短路径模块
该模块是根据游客当前所在位置和将要游览的位置提供一条最短路径。
(4)查看各景点信息模块
该模块专门为游客提供每个景点的详细信息查询。
4详细设计
主函数voidmain()
图2主函数选择所需功能
4.1浏览校园全景模块
MGraphInitGraph()
图3浏览校园全景模块
4.2查询所有浏览路线模块
voidBrowser(MGraph*G)
图4查询所有浏览路线模块
4.3求最短路径
voidFloyd(MGraph*G)
图5求最短路径模块
4.4查询各景点信息模块
voidSearch(MGraph*G)
图6查询各景点信息模块
5调试与测试
5.1调试
调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者来说也是最艰巨的任务。
调试的任务是及时改正测试过程中发现的软件错误。
具体地说,调试过程由两个步骤组成,从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。
然后仔细研究推断代码以确定问题的原因,并设法改正。
调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。
本系统调试过程中遇到问题、原因和解决方法如下面介绍。
(1)运行完程序一次有错误提醒
原因是上次运行程序后没有关闭操作界面当点击编译时会有一个错误提示,解决方法:
将上一次运行时的操作界面关闭。
其原因是指针指向的位置出现错误导致程序传参错乱,无法运行,解决办法:
使程序进入调试状态在传参,出现错误的位置一句句查找传递的参数是否是你所希望的,如若不是就加以修正。
本系统调试过程中遇到的主要问题、原因和解决方法如下面介绍。
5.2测试
软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。
或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。
过度测试则会浪费许多宝贵的资源。
到测试后期,即使找到了错误,然而付出了过高的代价。
测试数据过程如下。
(1)输入功能测试
输入数据:
41
预期结果:
1图书馆文化交流中心
运行结果:
说明:
所输入的数据与输出的结果相符合,与预期结果完全一致,程序编写成功。
6结论
课程设计顺利完成,任务书中所提出的要求全部实现,不过这个程序还有些不够完善。
结束语
为期两个礼拜的计算机综合训练终于顺利完成,在这期间真正的学到了一些经验,能够熟练的掌握一些数据结构的编程思路,能够熟练的运用学到的东西,学会了在曾经编写过的函数上加以修改实现了我期望实现的功能,知道学习编程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一些理论中学不到的知识,这才达到了实践的目的,当程序编写完成而且能够正常运行心里一种说不出的自豪感,虽然这对于一名程序员来说可能什么也不是,但这是我编程的开始,如果希望在编程这方面能够有所发展我所要走过的路还很长,还需要不断的学习!
学习!
参考文献
[1]谭浩强.C语言程序设计(第三版).清华大学出版社,2007
[2]姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008
[3]严蔚敏,吴伟民.算法与数据结构(C语言版)清华大学出版社,2008
[4]严蔚敏,吴伟民.数据结构题集(C语言版)清华大学出版社,2008
[5]网上相关资料
附录1-用户手册
点击运行,首先出现的是登录界面,选择用户名称,正确的输入编号即可,如图7所示。
图7主界面
按照菜单提示输入编号即可
图13浏览校园景点界面
为来访客人提供图中任意景点的问路查询按照主菜单提示输入编号即可
图14查看所有游览路线
为访客推荐一条最短路径。
按照菜单提示输入编号即可
图15选择出发点和目的地
为来访客人提供图中任意景点相关信息的查询按照菜单提示输入编号即可
图16查看各景点信息
附录2-源程序
#include<
stdlib.h>
stdio.h>
string.h>
#defineMAX10000
#defineMAX_VERTEX_NUM10
typedefstruct
{
intadj;
}Ar,Ad[10][10];
charname[30];
intnum;
charintroduction[100];
}infotype;
typedefstruct
infotypevexs[10];
Adarcs;
intvexnum,arcnum;
}MGraph;
MGraphb;
MGraphG;
inti,j;
G.vexnum=10;
G.arcnum=10;
for(i=0;
i<
G.vexnum;
i++)
G.vexs[i].num=i;
strcpy(G.vexs[0].name,"
北门"
);
strcpy(G.vexs[0].introduction,"
校大门-雄伟而美丽"
strcpy(G.vexs[1].name,"
图书馆"
strcpy(G.vexs[1].introduction,"
文化交流中心"
strcpy(G.vexs[2].name,"
南生活区"
strcpy(G.vexs[2].introduction,"
学生家园(南区)"
strcpy(G.vexs[3].name,"
南门"
strcpy(G.vexs[3].introduction,"
校内外交通枢纽"
strcpy(G.vexs[4].name,"
校医院"
strcpy(G.vexs[4].introduction,"
带去一份真诚,换回一身健康"
strcpy(G.vexs[5].name,"
北生活区"
strcpy(G.vexs[5].introduction,"
学生家园(北区)"
strcpy(G.vexs[6].name,"
运动场"
strcpy(G.vexs[6].introduction,"
发扬体育运动,曾强师生体质"
strcpy(G.vexs[7].name,"
教学楼"
strcpy(G.vexs[7].introduction,"
教学圣地"
strcpy(G.vexs[8].name,"
实验基地"
strcpy(G.vexs[8].introduction,"
实践与理论相结合的地方"
strcpy(G.vexs[9].name,"
清阳湖"
strcpy(G.vexs[9].introduction,"
美丽校园的核心"
for(j=0;
j<
j++)
G.arcs[i][j].adj=MAX;
G.arcs[0][1].adj=200;
G.arcs[0][2].adj=500;
G.arcs[0][6].adj=480;
G.arcs[1][7].adj=100;
G.arcs[2][3].adj=50;
G.arcs[3][6].adj=400;
G.arcs[3][4].adj=300;
G.arcs[4][5].adj=350;
G.arcs[4][9].adj=180;
G.arcs[5][9].adj=420;
G.arcs[6][7].adj=280;
G.arcs[6][9].adj=220;
G.arcs[7][8].adj=250;
G.arcs[8][9].adj=320;
G.arcs[j][i].adj=G.arcs[i][j].adj;
returnG;
}
voidMenu()
{
printf("
\n欢迎来到沈阳航空航天大学\n"
printf