家谱管理系统,主要用来管理家族成员的基本信息
1、确定整个程序的功能模块。实现程序的主界面,要对主界面的功能选择输入进行容错处理。
2、实现单个结点信息的录入。
3、对录入日期信息进行合法性检验。
4、采用改变字体颜色的方式突出显示主界面的功能项。
5、计算从出生日期到死亡日期的实际天数
6、若家谱树为空,则新建家谱树。实现成员节点的添加。基本功能中可以
强制要求所有成员不同名,即不考虑同名情况(符合小家族的实际情况)。
7、添加成员节点时,可以选择将新添加的节点作为整个家谱的上一代祖先,
或者将新添加的节点作为某个现有成员的孩子。
8、作为某个现有成员的孩子,根据给出的父节点的姓名将该结点添加到相
应位置,注意,针对某一父节点,添加第一个孩子和其它孩子的区别。
9、要求在孩子兄弟二叉树中按各个孩子的年龄进行排序。
10、将家谱树保存到二进制文件。注意,不能保存空白节点。
11、从文件读入家谱信息,重建孩子兄弟二叉树形式的家谱。
12.从文件中读出所有节点信息到一个数组中,然后按一年中生日的先后进
行快速排序。
13、按姓名查询家谱成员并显示该成员的各项信息。
14、给出某一成员的姓名,删除该成员和该成员的所有子孙。
15、成员信息的修改。信息修改时要给出选择界面让用户选择需要修改的信
息项。基本功能中可以限定不容许修改父亲姓名和本人姓名。对日期信
息进行修改时要进行检验。
16、实现层次递进的方式显示整个家谱,显示结果应该体现家谱树的结构。
17、按各种关键字进行查询,要求给出关键字选择界面,并显示符合查询条
件的节点信息。
18、信息统计基本要求包括:平均身高,平均寿命,男女成员各多少,平均
家庭人口数目(假定每个成员构成一个家庭,该家庭的家庭成员是指成
员本人和他的孩子,即家庭人口数=孩子数+1)。要给出统计项的选择界
面.
19、查询某一成员的所有直系亲属。
20、给出某一成员的所有嫡系祖先。
21、确定两人关系。若两人辈分不等,则应指出甲是乙的多少代长辈(晚辈),
甲是否是乙的直系长辈(晚辈),若辈分相同,则应指出是亲兄弟还是多
少代的堂兄弟。
2021-11-13 16:30:23
266KB
二叉树家谱
1