数据结构课程设计
题目:用二叉树实现家谱管理系统
姓名:郭志超
学号:031010151554042
完成日期:2005.7.3
一、需求分析
??建立输入文件以存放最初家谱中各成员的信息。
??成员的信息中均应包含以下内容:
姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)
也可附加其它信息、但不是必需的。
??能对修改后的家谱存盘以备以后使用。
??能从文件中读出已有的家谱,形成树状关系。
??家谱建立好之后,以图形方式显示出来。
??显示第n 代所有人的信息。
??按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。
??按照出生日期查询成员名单。
??输入两人姓名,确定其关系。
??某人添加孩子。
??删除某人(若其还有后代,则一并删除)。
??修改某人信息。
??按出生日期对家谱中所有人排序。
??打开一家谱时,若家谱中某人的生日在打开家谱的那一天,应给出提示。
二、概要设计
采用二叉树进行家谱的管理、树形控件及列表控件进行家谱的显示。程序涉及以下三种类
型,但基本操作均在“家谱”类型中。
1.定义“个人信息”类型:
ADT Person{
数据对象:D={Pj | Pj={姓名、出生日期、婚否、地址、健在否(如过世,还应有其死亡日
期)},j=0,1,2,??n,其中n>=