家谱管理系统— — C 语言(数据结构) 目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间 的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结 构的知识;使学生重点掌握树与二叉树的转换,二叉树的存储和遍历,和二叉树 相关的一些运算;要求完成家谱信息的录入和保存,任意成员的查找及某一成员 祖先、子孙、兄弟、堂兄弟的查找
排答疑和辅导
完整代码: #include #include #include int MATEFLAG=0; //是否入赘或嫁入这家的,1 表示为是,0 表示否 typedef struct TreeNode//树节点定义 { int Num; //保存此人儿女个数 char Name[20]; //保存此人姓名 char Kind; //保存此人性别,男 M,女 F struct TreeNode * NextNode[20]; //保存此人的儿女,NextNode[0]里存放配偶的地址 struct TreeNode * Parent; //保存此节点的父节点 }TreeNode; void CreatTree(TreeNode *Tree);//创建树 void OutPutAll(TreeNode *Tree);//输出树 TreeNode * SearchTree(TreeNode *Tree,char name[],int length); void MainMenu(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree); void OutPutMessage(TreeNode