- 83
- 0
- 约8.15千字
- 约 25页
- 2016-11-08 发布于湖北
- 举报
武汉工商学院信息工程学院项目名称:家谱管理系统学生姓名:周光波学号 班级:14计科本1指导教师:刘莹2015年6月23日1引言树形结构是区别于线性结构的另一大类数据结构,它具有分支性和层次性,在计算机科学的许多领域和日程生活中都具有十分广泛的应用,是数据表示、信息组织和程序设计的基础和有力工具,下面我们将通过树与二叉树的转换来制作家谱管理系统。2 系统需求分析2.1 系统功能概述家谱管理系统将树形结构转换为二叉树结构,通过二叉树链表储存家谱信息,需要初始录入家谱信息,然后即可显示出全面的人员关系,还可查找某人的双亲、孩子、祖先、兄弟。充分利用二叉树的方便性和简洁性。2.2 系统模块图2-1 系统功能模块图(1)录入家庭信息模块用来初次输入家庭成员姓名,按照提示的亲缘关系来输入相应的人的姓名,没有对应的成员就会提示输入#,输入的家庭成员信息将保存在二叉树链表中,输入完所有信息后将返回主菜单,让用户选择下一步操作。(2)输出所有家庭成员进入此功能后会将家谱姓名按代数关系和亲子关系罗列出来,方便用户全面观察整个家谱。(3)查找相应的家庭成员进入要查找的成员类型,按提示输入成员姓名,查找到对应亲属会罗列出来,如果没查找到会有相应的提示,然后返回主菜单。如果没有用户输入的那个人,将提示输入错误,返回主菜单。3 系统存储结构说明3.1 系统存储信息说明系统采用二叉链表来保存家庭成员姓名信息。将树形成员关系转化为二叉树结构保存。用队列辅助暂时储存一些家庭成员。3.2 系统存储结构设计typedef char datatype;typedef struct node{ //定义二叉树结构datatype data[10];struct node *lchild,*rchild;}bintnode;typedef bintnode *bintree; //定义二叉树指针typedef struct{ //队列定义bintree a[MAXSIZE];int front;int rear;int n; //队列元素个数int depth; //家谱代数}queue;4 系统功能设计及实现4.1 输入家庭成员信息先在调用此函数前给出提示先输入根节点,保存在变量ch中,然后在函数中输入姓名,如果姓名为#则执行t=NULL,否则建立空节点t,将ch的值赋给t-data,然后提示输入ch的孩子,并执行t-lchild=input()来递归调用此函数,调用完成后下一步操作为给出提示输入ch的兄弟,并执行t-rchild=input()来递归调用,调用完成后就完成了else语句,最后返回节点指针t。图4-1录入家谱成员信息4.2 输出所有成员先输出提示显示出下面输出的是第一代人,然后调用postorder()函数输出第一代的成员,并将它们入队,然后定义两个控制循环的变量i,然后进入for(int x=2;x=sq-depth;x++)循环中,循环完成后结束函数,循环中先输出格式划分语句“第x代”,然后让i=sq-n,再进入while(i!=0)循环,循环结束回到for循环中,循环中先定义一个节点指针变量a并初始化为出队节点,判断a-lchild是否存在,存在就调用postorder()函数输出a节点的所有孩子,并将这些孩子入队,判断完成后让i--。图4-2输出全部家谱成员4.3 查找某人的所有孩子先判断节点t是否存在,如果存在再判断t-data是否等于x,等于的话判断t-lchild是否为空,空的话输出“没有孩子”,不为空就调用getbrother(t-lchild,x)函数输出所有孩子。如果t-data!=x就递归调用遍历左指针和右指针。根节点不存在就结束函数。图4-3查找孩子4.4 查找某人的双亲先判断根节点是否存在,不存在就函数结束,存在就再判断t-data==x?满足条件就m=NULL,否则判断t-lchild!=NULLstrcmp(t-lchild-data,x)==0满足条件就m=t,否则就再判断t-rchild!=NULLstrcmp(t-rchild-data,x)==0,满足就getparent(a,a,t-data)来查找双亲的双亲,不满足就遍历左指针和右指针。最后输出m-data。图4-4查找双亲4.5 查找某人的所有祖先先判断根节点是否存在不存在就函数运行完成,存在就再判断节点的左孩子是否存在并且就是关键字,如果满足就输出双亲,并递归调用这个函数,将关键字换成这时后的双亲(即再查找双亲的双亲),否则就判断节点的右孩子是否存在并且是关键字,如果满足就把t-data作为关键字递归调用这个函数继续查找,如果不满足就遍历左孩子和右孩子。图4-5查找祖先4.6 查找某人的所有兄弟调用查
您可能关注的文档
最近下载
- 《肠造口并发症的分型与分级标准(2023版)》解读.pptx
- 智能制造工业互联网数字化智能工厂(-MES、-WMS、-ERP)-解决方案.pptx VIP
- 中医学基础(精).pdf VIP
- 潞安焦化有限责任公司焦炉煤气高效利用制化学品项目(一期)(原年产30万吨甲醇项目变更)环境影响评估报告书简本.doc VIP
- 药品GMP检查指南(中药制剂).pdf VIP
- 针对阿尔茨海默病的重复经颅磁刺激个体化数据处理方法.pdf VIP
- 译林牛津新版高中英语(必修1-3)单词表.pdf VIP
- 制造业数字化转型路径:工业互联网解决方案深度解析.docx VIP
- 2025年海南省中考数学试题卷(含答案及解析).pdf
- 高职院校改制升格论证报告(模板解读).doc VIP
原创力文档

文档评论(0)