- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 程 设 计 报 告
题目: 中国行政区域图染色与信息查询
课程名称: 数据结构课程设计
专业班级:计算机科学与技术 班
学 号:
姓 名:
指导教师:
报告日期: 2012年10月10日
计算机科学与技术学院目 录
1 绪言 2
2 系统设计方案的研究
2.1 系统的控制特点与性能要求 3
2.2 系统设计方案选择及分析 3
3 系统的设计及实现
3.1 染色模块的设计 6
3.2 管道铺设模块设计 8
3.3 省份信息查询模块设计 9
3.4 其他模块设计 9
3.5 其他设计 9
4 系统结果分析 12
5 总结 18
参考文献 19
附录 20
1 绪言
数据结构是计算机科学技术与信息安全等专业的一门重要专业基础课,牢固掌握数据结构的基础知识,熟练地运用数据结构的思想与技术方法解决实际应用问题是是本课程学习的基本任务与目标。而课程设计是重要组成部分MFC是微软封装了的API是面向对象程序设计与Application framework的完美结合,将传统的API进行了分类封装,并且创建了程序的一般框架。Visual C++6.0由Microsoft开发它不仅是一个C++?编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。
图2.1 窗口结构设计
在主窗口中进行地图的显示以及进行与图形相关的操作,信息查询显示则在新窗口中进行,这样安排使得不同的操作各自独立进行,防止了相互间的干扰,同时也简化了单个函数的长度,使得程序条理更加清晰,也方便用户的使用。
程序采用模块化设计方案,即先设定好主程序,子程序,子过程框架,并定义好各个框架之间的输入,输出链接关系,逐步求精得到以功能块为单位的算法描述。模块化设计具有降低程序复杂度,使程序设计、调试和维护等操作简单化的优点。
在主窗体中设有5个功能按钮,分别对应程序5个功能。按钮事件分别对应窗口类中的5个成员函数,关系如图2.2所示。
图2.2 主窗口类中功能实现函数
除了窗口类的成员函数,我还自定义了一些辅助功能函数,这些函数在新建的头文件my_h.h中进行声明。
辅助功能函数有:
Status InitQueue(LinkQueue Q); //初始化队列
Status Enqueue(LinkQueue Q,CPoint e); //入队列
CPoint Dequeue(LinkQueue Q,CPoint e); //出队列
BOOL QisEmpty(LinkQueue Q); //判断队列是Q否为空
BOOL InitRelation(int v[][32]); //载入邻接矩阵到int v[][]
void SetColor(int lin[][32],int v[]); //对每个省份进行颜色分配
void InitPoint(CPoint p[]); //初始化各省份坐标
void InitProName(CString n[]); //在省份查询窗口中对各省份名称初始化
void InitProInfo(proinfo pro_i[]); //载入省份信息到pro_i[]
至此,整个程序框架已经完成了,如图2.3所示。
图2.3 模块化程序框架
在文件方面,我将邻接矩阵直接存放在linjiejuzhen.txt文件中,初始化时直接将文件中内容读取到二位整形数组中,这样大大简化了读文件操作,同时也免去了邻接矩阵初始化时不必要的操作。与常规的邻接矩阵不同的是,我将邻接矩阵中表示结点相邻的1直接用两结点的权值代替,这使得构建无向网操作得以简化同时也提高了文件的利用率。
在另一个文件proinfo.txt中保存着各个省份信息,在读取信息时一次将所有信息读取到一个pro_info结构体数组中,这样便于数据的处理。
3 系统设计及实现
3.1 染色模块的设计
首先在功能函数OnZhuose()中定义一个二维整型数组linjie[32][32]来存放邻接矩阵,由四色问题的证明可知“任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色”。故我们可定义一个整形数组pro_color[33]来存放对每个省份分配的颜色,颜色用整数表示,1表示洋红色,2表示黄色,3表示青色,4表示绿色。
在将邻接矩阵数据载入后,我先将矩阵中的非0值
您可能关注的文档
最近下载
- 移动L1认证传输专业试题汇总(含答案).pdf VIP
- (新版)中移动传输专业L1认证考试复习题库-上(单选题汇总).docx VIP
- 计算机专业(基础综合)模拟试卷3(共456题).pdf VIP
- 项目编号szcg2007041645 项目名称2007年度深圳市储备土地管理.doc
- 离婚登记申请受理回执单民法典版(可直接打印).pdf VIP
- 人教五年级数学上册1.2.2 倍数是小数的实际问题和乘法验算 课时训练.doc VIP
- 光伏电站检修规程(行业标准).docx VIP
- (新版)中移动传输专业L1认证考试复习题库-下(多选题汇总).docx VIP
- 基于大概念的初中音乐单元整体教学设计探索.doc VIP
- 《企业经营数据分析》课件.ppt VIP
文档评论(0)