1、数据结构实践教学环节任务书数据结构实践教学环节任务书 -校园交通导游系统校园交通导游系统 目的: 通过布置具有一定难度的实际程序设计项目, 使学生进一步理解和掌握课堂上所 学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程 序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实 现的能力。 2、要求: 基本要求: 1. 要求利用 CC+语言来完成系统的设计; 2. 突出 C 语言的函数特征(以多个函数实现每一个子功能)或者 C+语言 面向对象的编程思想; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结
2、构的详细定义; 6. 熟练掌握 C 语言或者 C+语言的各种操作。 创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实 现,实现友好的人机交互等等 设计流程图 开始开始 地图构造 查询景点信 息 查询两景点 最短距离 显示景点信 息 退出 调用 CreateUDN () 调用 search() 调用 ShortestPath () 调用 narrate() 景点及景点及菜单菜单显示显示 菜单显示菜单显示: 数据结构的详细定义: 1、顶点定义: typedef struct V ertexType vexNUM; ArcCell arcsNUMNUM; int vex
3、num,arcnum; MGraph; 2、路径长度: typedef struct ArcCell int adj; ArcCell; 3、顶点存放的信息: typedef struct V ertexType int number; char *sight; char *description; V ertexType; 详细程序清单: #include #include #include #include #define Max 20000 #define NUM 9 typedef struct ArcCell int adj; ArcCell; typedef struct V er
4、texType int number; char *sight; char *description; V ertexType; typedef struct V ertexType vexNUM; ArcCell arcsNUMNUM; int vexnum,arcnum; MGraph; MGraph G; int PNUMNUM; long int DNUM; int x9=0; void CreateUDN(int v,int a); void narrate(); void ShortestPath(int num); void output(int sight1,int sight
5、2); char Menu(); void search(); char SearchMenu(); void HaMiTonian(int); void NextV alue(int); void display(); int main() int v0,v1; char ck; CreateUDN(NUM,11); do ck=Menu(); switch(ck) case 1: system(“cls“); / narrate(); printf(“nnttt 请选择起点景点(08) :“); scanf(“%d“, printf(“ttt 请选择终点景点(08) :“); scanf(
6、“%d“, ShortestPath(v0); output(v0,v1); printf(“nntttt 请按任意键继续.n“); getchar(); getchar(); break; case 2:search(); break; case 3: system(“cls“); /narrate(); x0=1; HaMiTonian(1); printf(“nntttt 请按任意键继续.n“); getchar(); getchar(); break; ; while(ck!=e); char Menu() char c; int flag; do flag=1; system(“cls“); narrate(); printf(“nttt