家庭成员的管理问题
一、 需求分析
1.设计背景
例如有这样的一对老夫妻(A、B),他们生有 n 男 m 女,其中,某个儿子(D)娶
妻(C)生有 x 男 y 女,某个女儿(E)嫁夫(F)生有 i 男 j 女,其余的子女有可能婚嫁,
也有可能单身,已婚的可能生有孩子若干,其孩子相继婚嫁……
数据对象是以上所有的家庭成员,要求建立他们之间的夫妻、子女等关系并方便查询。
2.任务概述
家谱用于记录某家族历代家族成员的情况与关系。现编制一个家谱资料管理程序,实
现对一个家族所有的资料进行收集整理。构建数据模型,按时间关系建立他们之间的夫妻
子女等关系。按姓名查询某个家庭成员及其配偶和孩子
二、 详细设计
在动手编制程序之前,先要做好程序的规划,包括程序储存数据所用的结构,数据类
型等等,只有确定了数据类型和数据结构,才能在此基础上进行各种算法的设计和程序的
编写。
1.数据结构
首先是考虑数据类型。在家谱中,家族成员是最基本的组成部分,对于家族管理中,
已经不能再进行细分了,所以选定家族成员作为数据的基本类型。定义每个成员为一个结
点,结点属性包括成员的姓名和左右子树的指针,为了查找方便,我设计父亲结点的左孩
子根结点是该父亲结点的配偶,而父亲结点的右孩子根结点是其父亲结点的孩子。性别的
辨别是通过用户输入“m”或“f”来辨别,并没有定义其属性。
struct treenode{
char name[10];
struct treenode *left,*right;
};
2.算法流程图
评论0
最新资源