C/C++家族谱管理系统[2023-11-16]
【问题描述】
根据如下的家谱树的示意图构造出与之对应的家族关系树,家谱中每个人包含了两部分信息,姓名和出生日期,并以此为基础完成如下功能的实现。
【基本要求】
(1)用于括号表示法输出当前家谱的组成;
(2)能够分别查询某人的所有儿子、孙子(隔一代)、曾孙(隔两代);
(3)能够查询某人的所有祖先;
(4)能够修改某人名字和出生日期;
(5)能够为某人添加直系关系,比如给Qe添加孩子Qe1,出生日期为添加的当天;
(6)能够查询某人的所有兄弟;
(7)能显示指定的第n代的所有人信息(根结点为第一代);
(8)输入两个人的姓名,给出两人的亲戚关系(超过两代都统称为祖先关系);
(9)能够查询某人的年龄,并根据年龄给出是否为退休状态(假设超过50岁为退休状态);
(10)为家族中的所有成员增加一个婚姻状态(未婚、已婚和离异),该状态可以进行修改。