校园导游程序设计知识讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构课程设计》报告
课题名称:校园导游程序
专业:
班级:
学号:
姓名:
2012 年12 月31 日
目录
目录 (1)
1 前言 (2)
2需求分析 (3)
3概要设计 (3)
4详细设计 (3)
5源代码及调试 (3)
6特殊问题解决方法 (8)
7使用说明及测试结果 (9)
8结论 (11)
9总结与体会 (11)
10参考文献 (11)
1 前言
1.1 课题简介
课程设计题目名称:
校园导游程序
课程设计目的:
通过《数据结构》课程的学习,将数据结构应用在具体的编程方面,更加了解课程所学习的内容及思维逻辑。
课程设计意义:
利用数据结构课程设计,了解学生对《数据结构》的理解和加强学生对数据结构方面的应用知识。希望今后学生好好利用数据结构的知识和思想,解决各方面的编程难题。课程设计内容:
实现存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。为来访客人提供图中任意景点相关信息的查询。为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。
课程设计预期实现效果:
(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。
1.2 方案及其论证
语言:C++
运行环境:Microsoft Visual C++ 6.0
可行性分析:模拟一个小型的计算器界面,能够输入数学表达式并计算出表达式的结果。
2需求分析
实现存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。为来访客人提供图中任意景点相关信息的查询。为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度3概要设计(特殊功能)
3对于本次编程的概要设计,有如下内容:
功能设计1:景点查询
功能设计2: 查询最短路径。
功能设计3:退出系统查询
4详细设计
流程图:
输入所需功能代号——>判断所输入代号所——>执行相应的程序——>输出结果——>退出程序
5源代码及调试
源代码:#include
#include
#include
#define Max 20
#define Init_Length 10000
void shortestdistance();
void print(){ printf(" 欢迎您来到河北科技师范\n");
printf(" ******\n");
printf(" 祝您旅途愉快\n");
printf("以下是您可能要前往的地方\n");
printf("1 老楼 \n");
printf("2 音乐广场 \n");
printf("3 图书馆 \n");
printf("4 小湖 \n");
printf("5 篮球场 \n");
printf("6 后院食堂 \n");
printf("7 第三食堂 \n");
printf("8 第二食堂 \n");
printf("9 欧美东院 \n");
printf("10 北2 \n");
printf("11 北1 \n");
printf("12逸夫楼 \n");
printf("13 操场博学园区 \n");
printf("功能1.景点查询请输入 i\n");
printf("功能2.查询最短路径请输入 s\n");
printf("功能3.退出系统请输入 e\n");
printf("请输入您的选择:");}
void introduce()
{ int a;
printf("请输入景点编号:");
scanf("%d",&a);
getchar();
printf("\n"); while(a<1||a>13)
{ printf("ERROR ! 请输入数字 1 到 13:\n\n");
scanf("%d",&a); }
switch(a) { case 1: printf("1:老楼一纵四横嘉庚风范,庄严而又活泼美丽\n\n");
break;
case 2: printf("2:音乐广场美丽校园的核心\n\n");
break;
case 3: printf("3:图书馆图书馆文化交流的中心和同学们自习的地方\n\n");
break;
case 4: printf("4:小湖魅力的校园明珠\n\n");
break;
case 5: printf("5:篮球场热爱篮球学生的天堂\n\n");
break;
case 6: printf("6:后院食堂距离宿舍区最近,饭点拥挤度最高\n\n");
break;
case 7: printf("7:第三食堂距离教学楼最近,晚上有课的同学可以来此
\n");
break;
case 8: printf("8:第二食堂离前院打水的地方最近,打水的地方可以在这吃饭\n\n");
break;
case 9: printf("9:欧美东院中欧文化汇聚的园地\n\n");
break;
case 10: printf("10:北2 居住前院学计算机和欧美东院的女生\n\n\n");
break;
case 11 : printf("11:北1 居住欧美东院的男生\n\n");
break;
case 12: printf("12:逸夫楼老师传授知识,学生学习知识的乐园\n\n");
break;
case 13: printf("13:操场学生活动锻炼的好去处\n\n");
break;
}
printf("/n");}
void main() { char k;
print();
scanf("%c",&k);
while((k!='i')&&(k!='e')&&(k!='s'))
{ getchar();