欢迎来到天天文库
浏览记录
ID:43296054
大小:286.12 KB
页数:18页
时间:2019-09-29
《校园导游程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一.问题分析及任务定义根据题目的内容和需要完成的任务作以下分析1.题意分析1.1程序功能题目的要求是设计一个校园导游程序,设计的具体任务是使程序能够实现多种功能包括:1.1.1查询校园中各景点的相关信息。1.1.2查询校园中任意两个景点间的最短路径。1.1.3查询校园中任意两个景点间的所有路径。1.2提出问题经分析可知,在程序设计中主要需要解决的是:1.2.1如何对校园中的各个景点设计出合适的数据结构来存储这些景点的各种信息,以便在程序中实现其他各种操作,如查询等。1.2.2如何设计出正确的算法來实现找到校园中任意两个景点之间的所有路径和以及它们Z间的最短路径并输出。2.输入分析2.1选择各
2、个功能模块时,需要输入的是各个功能模块前的序号。2.2进入查询景点信息的模块,需要输入的是待查询的景点编号或是选择退出时的退出模块前的序号。2.3进入查询校园中任意两个景点间的所有路径和最短路径的模块时,需要输入的是出发景点和目地景点的编号。2.4在上述所说的2.1,2.2,2.3中,输入的数据类型为整型,且为一位整数或是两位整数,例如3、12等。另外,在各个查询模块中,当结束完一次查询后,将提示:继续查询?(y
3、n),此时,需要输入的是Y、y或乂n,以便选择继续查询或是退出该模块。3.输出分析3.1在查询校园屮各景点信息的模块屮,当输入了某个景点的编号时,随即输出的是有关该景点的简介信息。
4、3.2在查询校园里任意两景点间的所有路径的模块中,当输入了一个出发景点和一个目地景点的编号之后,输出的则是从出发景点到目地景点的所有路径,路径的输出为形如:第2条出发景点名称-〉景点1名称-〉景点2名称-〉-〉景点n名称->目地景点名称。3.3在查询校园里任意两景点间的最短路径的模块小,当输入了一个岀发景点和一个目地景点的编号之后,输出的则是从出发景点到目地景点的最短路径,路径的输出为形如:出发景点名称->景点1名称-〉景点2名称-〉……-〉景点n名称-〉目地景点名称路径长度:35米。3.4另外,为了方便程序的各种输入,需要输出的是各个模块以及它们各自的序号;在三个查询模块屮,还需要输出的是
5、各个景点的名称和它们各自的编号,以供用户在输入时的不同选择,并且在一次查询结束后,输出提出语句如:继续查询?(y
6、n),以便用户可以继续选择查询或是退出该模块。输11!数据的类型可以为汉字或是一些辅助字符如-〉、?、丨、数字等。4.测试数据分析对程序进行如下儿种数据的测试,查看输出结果的正确与否:4.1在进入程序运行的开始界面后,屏幕显示了程序能够实现的各个功能模块以及它们各自的编号,包括退出时应选择的编号。此时输入各个模块前的序号如1、2、3等,查看程序继续运行后的提示画面,并通过继续输入來判断是否进入到了相应的模块,并实现操作。若输入的是退出时的编号,则查看程序是否结束执行,并提示:Pr
7、essanykeytocontinue.1.2在通过输入而进入到查询景点信息的模块中后,根据屏幕显示的各个景点的名称以及它们各自的编号来选择输入需要查询的景点的编号,并通过屏幕的进一步显示来判断是否显示了待查景点的相关简介信息。当在结朿了一次查询之后,提示:继续查询?(y
8、n),此时通过输入Y、y來查看程序是否继续运行当前模块,即提示用户输入需要查询的景点的编号等,或者通过输入《n来查看程序是否退出当前模块,进入到程序运行的开始界面。4.3在通过输入而进入到查询任意两个景点间的所有路径的模块屮后,根据屏幕显示的各个景点的名称以及它们各自的编号来选择输入出发景点和目地景点的编号,并通过屏幕的进
9、-步显示来判断是否显示了从出发景点到目地景点的所有路径信息。其他测试同4.2。4.4在通过输入而进入到查询任意两个景点间的最短路径的模块中后,根据屏幕显示的各个景点的名称以及它们各自的编号来选择输入出发景点和目地景点的编号,并通过屏幕的进一步显示来判断是否显示了从出发景点到目地景点的最短路径信息。其他测试同4.2。一.概要设计和数据结构的选择根据问题分析,对整个程序和算法的实现进行初步设计,包括如下几项。1.数据结构的选择考虑到程序屮所要解决的是求两点间的所有路径和最短路径问题,因此,用无向网来表示学校的校园景点平面图。网中的顶点表示主要景点,在顶点的结构屮存放的是景点的编号,名称,简介等信
10、息,网中的边表示景点间的道路,存放路径长度等信息。并将无向网以邻接矩阵的形式存储。#defineMAXV20/*最多顶点个数*/#defineMAXSIZE20/*字符串成员name的最大长度*/#defineMAXLEN500/*字符串成员content的最大长度*/#defineINF32767/*用32767表示typedefstruct{intnum;/*顶点编号*/charname[MAXSIZE]
此文档下载收益归作者所有