文档介绍:: .
退出系统
二、模块划分
1. int main():主函数
2. void CreatTree(TreeNode *Tree):创建家族树
3. void OutPutAll(TreeNode *Tree):显示家谱
4. void Menue(TreeNode *Tree):主菜单
5. void SubMenue1(TreeNode * Tree):副菜单(修改选项菜单)
6. void Change(TreeNode * Tree):修改家谱
7. TreeNode * SearchTree(TreeNode *Tree,char name[],int length):按照姓名查找家
谱成员8. TreeNode * SearchTree1(TreeNode *Tree,char birth[],int length):按照生日查找家
谱成员
9. void OutPutMessage(TreeNode * Tree,char name[],int length):输出按姓名查找到
的家谱成员
10. void OutPutMessage1(TreeNode * Tree,char birth[],int length) :输出按生日查找
到的家谱成员
11. void SaveFamily(TreeNode *root):保存家谱
12. void ReadFamily(TreeNode **root):读取家谱
三、数据结构
typedef struct TreeNode
{
int ChildNum; //记录这个人拥有几个儿女
char Name[20];//记录这个人的姓名
char birthday[20];//生日
int marriage;//婚否(1 表示结婚,0 表示没结婚)
int death;//生死(1 表示活着,0 表示过世)
char Kind;//标示节点的种类有女 G 男 B
char address[100];//住址
char livemassage[50];//死亡日期(如果其已经死亡)
struct TreeNode *NextNode[20]; //记录这个人的儿女
struct TreeNode *Parent; //记录这个节点的父节点
}TreeNode,*tree;
四、测试
第一组数据为:
爷爷,奶奶,爸爸,妈妈,我,二叔,二婶,姐姐,三叔,三婶,弟弟一共
三代 11 个人。
其中爷爷是根节点,奶奶为爷爷的配偶,同时也是爷爷的第一个后继节点。
爸爸,二叔,三叔为爷爷的子女。爸爸的配偶是妈妈,爸爸的子女是我。二叔的
配偶是二婶,子女是姐姐。三叔的的配偶是三婶,三叔的的子女是弟弟。
进入程序之后,首先进行创建家谱,然后进行存盘,之后进行修改和查询等
步骤。退出程序在进入程序时,进行读盘。之后在进行其他操作,程序完成之后
退出即可。爷爷 奶奶
爸爸 妈妈 二叔 二婶 三叔 三婶
我 姐姐 弟弟
图 1 家族树
第一组数据测试截图为:
图 2 显示家谱图 3 按照姓名查找家族成员
图 4 存盘
第二组数据为:王老 刘老
王二 张二
王大 李大
王 小 王 小
一