全国邮政编码查询 要源码的直接Hi我.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国邮政编码查询 要源码的直接Hi我

全国邮政编码查询 一 目的 利用《数据结构》课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C++语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对树、、查找、等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。 二 需求分析 1、本程序主要对树的构造,以及如何存储数据和遍历访问结点数据。通过从文本内读取各个省市的数据,构造一颗树。 2、通过输入任意地名,遍历树形结构显示其邮政编码;输入任意邮政编码,要给出详细地址。 三 概要设计 1、本程序包括4个模块: (1)主程序模块: Main(){ 树的初始化; 调用函数读取文档数据和构造树; 用户选择查询; } (2)读取数据模块: 通过函数读取文本文档数据。 (3)构造树模块: 构造一颗二叉树存储数据。 (4)查询模块: 通过输入邮编查询详细地址或者通过地址查询邮编。 2、函数的声明和数据类型的定义: typedef struct Node2 { }BTNode; 树结构体的定义。 void ReadromFile(char b[1000][10]) 将二维数组传入,把本文文档的内容读到二维数组中。 createbitree (BTNode *b, BTNode *root,char ah[1000][10],int i) 先序遍历造树,把树的节点和二维数组以及变量i传入,i代表的是数组中元素的位置。 BTNode *SearchNode(BTNode *b,char *x ) 通过遍历查询,查询所需要的信息,char *x是传入要查询的信息,然后通过字符指针返回信息。 四 详细设计 1、定义结构体BTNode typedef struct Node2 { char date[10]; char tag[10]; struct Node2 *lchild,*rchild,*parent; }BTNode; 2、定义二维数组 char c[1000][10]; 3、定义结构体指针 BTNode *root; BTNode *rt; 4、读文件中的内容 void ReadromFile(char b[1000][10]); 5、把文件中读数来的数据遍历存储到树中 createbitree (BTNode *b, BTNode *root,char ah[1000][10],int i); 6、查询信息 BTNode *SearchNode(BTNode *b,char *x ); 程序流程图: 五 调试分析 本程序的关键是构造一颗有规律关系的树,首先得出树的结构,和构造方法。 选择一定的格式去读取文件的数据,文件的数据存放一定要按规律排布,不然将会导致构造树时节点间的数据关系混乱。 最关键部分就是以先序递归的方式去构造树,不仅要清楚的了解递归的过程,而且要清楚的指导如何去判断节点以及如果终止递归。不然将会出现递归死循环。 再递归中要用指针进行操作或者通过地址操作,否则将会出现在递归回到上一层或者前几层时出现数据重复读入,和数据漏读。 六 测试结果 1、通过写本程序,充分了解了树的结构,以及构造遍历查询等操作,提高利用计算机分析解决综合性实际问题的基本能力。 2、在函数传递参数时要注意传指针和传值。 3、通过调试分析可以清晰的查看程序的逻辑错误,以及对递归算法有了 更深的了解。 4、递归的方法构造树虽然很方便,但是很容易出错,树是无形的而且不容易看出哪里出错。 5、读取文件时,选择正确的方式打开文件,然后通过需要的格式去读取文件的内容。 七 用户使用说明 本程序在VC下运行。 运行后程序自动读取文件内容,用户根据提示选择查询方式,输入查询内容后,程序将会显示出你所查询的信息。 查询后可以选择继续查询和选择退出。 八 课程设计总结 课程设计终于结束了,在这次课程设计中不仅巩固了原来学习的知识,更重要的是加深了对知识点的理解。懂得如何去做一件事情,该先做什么后做什么。在

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档