家谱管理系统报告

家谱管理系统报告

ID:46517651

大小:84.00 KB

页数:5页

时间:2019-11-24

家谱管理系统报告_第1页
家谱管理系统报告_第2页
家谱管理系统报告_第3页
家谱管理系统报告_第4页
家谱管理系统报告_第5页
资源描述:

《家谱管理系统报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、辽宁工程技术大学数据结构综合训练实验报告班级:_14计升本_学号:姓名:电子与信息工程学院计算机科学系一•问题描述家谱管理系统是杏询家谱信息必不可少的一部分,利用家谱管理系统可以清楚的查询到家族成员的详细信息。该家谱管理系统是通过树來实现的。本程序具有插入、查找等功能,可以实现存放家谱中各成员的信息。程序的操作界面简洁美观,易于操作。本程序运用了函数、循环、树等知识來进行设计,实现系统和数据结构设计。%1.问题分析棊本要求:树形结构是一•种非常重要的II:-线性结构,它用丁•描述数据元素Z间的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结构

2、的知识;使学生重点掌握树与二叉树的转换,二义树的存储和遍历,和二义树相关的一些运算;要求完成家谱信息的录入和保存,任意成员的査找及某一成员祖先、子孙、兄弟、堂兄弟的查找。%1.数据结构typedefstructTreeNode{intNum;charName[20];charKind;//树节点定义//保存此人儿女个数//保存此人姓名//保存此人性别,男M,女FstructTreeNode*NcxtNodc[20];//保存儿女,NoxtNode[0]里存放配偶的地址//保存此节点的父节点structTreeNode*Parent;}TreeNode;%1.函数

3、定义voidCreatTree(TreeNode*Tree);//创建树voidOutPutAl1(TreeNode*Tree);//输出树TreeNode*SearchTree(TreeNode*Tree,charname[],intlength);//查找信息voidMainMenu(TreeNode*Tree);//主界面voidSubMenuel(TreeNode*Tree);//子界面voidSubMenue2(TreeNode*Tree);//子界而voidChange(TreeNode*Tree);//修改信息voidAddNew(TreeNode

4、*Tree);//添加成员voidOutPutMessage(TreeNode*Tree,charname[],intlength);//输出信息%1.功能模块1输入功能:根据用户输入信息建立家谱。2查找功能:根据输入姓名查找家族成员。3添加功能:添加新的家族成员。4输出功能:输出整个家谱信息。5修改功能:可修改个人,父母,子女,兄弟信息6退出系统。%1.操作界面主菜单:★★★★★★★★★★★★欢迎进人冢诸官里系统★★★★★★★★★★★♦♦菜单・・123456息员员息息信成成一一一入路岀番HH••••••查找信息:-J/$下中婷成如建婷成息泰张亠--口:::剽男

5、注唱名暑名男方女鹏搏补宋姓姓补黑补王补赵谱姓就竹姓幷姓姓家国的样中的I--T成的番子l2y建子1成子婷夫.W4长建中性别性别:男修改:息亠E..自心自心自心自3住旨亠旨沫亠一一g?一R雷的姐馳的人覃蛊你个父兄子配善改改改番选修修修修^^一濛fi:B:C:D=E:F:%1.结果分析(注意事项)(1)建立树时,由于新屮请结点的孩子指针,配偶指针均未赋空值。而在以后的函数中对树进行递归操作吋均以这些指针值中的一•个或儿个是否为空作为递归结束条件。从而导致调用这些函数时出现系统保护异常(使用了不安全的指针)。(2)刚开始删除结点时,只考虑到删除其木身结点的情况,而删除其

6、孩子结点的情况未考虑到,故在删除某些结点时使树出现了“断链”现象。故在程序代码中対删除某一•结点进行操作时,首先要判断此结点是否有孩子及兄弟,然后进行相应操作。%1.不足通过这次大作业,体会很深刻,将一直以來学到的东西都运卅到实际上來,学以致用,对所学知识有了更深刻的理解,同吋还发现了许多平时在书木上没有遇见过的问题,促进了自己对知识的渴望,遇见了问题,就希望能够通过查找课外巧来解决它们。刚接触题忖的时候,自己就有了一定的想法,觉得这个程序做起来是问题不大的,但到了白己真正开始编程的时候却发现远远没有想象中那么简单,很多细节的问题没有预想到,很多关系的处理想得过

7、于简单,以至于实施起来遇到了很大的困难,花了大量的时间。同时还有一个比较深刻的体会就是要尽量多在源码上作注禅,以前编一些功能简单的程序,总能很清楚每个函数和每个变量的作用,但到了做这个大作业,由于分开了各个功能板块去实现,很多时候是做了后面就忘了前面,后来意识到这个问题,便开始在编程吋加入注释,而且是越详细越好,这样做了以后,很多时候需要查看自己原來写的源代码,也能够很方便地了解了,跟上了思路,也方便以后的维护。关于这个程序的缺点方面,由于自己花的时间不是很多,再加上知识有限,编写出来的界而不够友好,在功能上还是有不完善的地方。总的来说,通过这次作业,收获还是挺

8、多的,也发现了不少的问题

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。