家谱宗族网站源码_家谱管理系统(源代码)
家谱管理系统——C语言(数据结构)目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结构的知识;使学生重点掌握树与二叉树的转换,二叉树的存储和遍历,和二叉树相关的一些运算;要求完成家谱信息的录入和保存,任意成员的查找及某一成员祖先、子孙、兄弟、堂兄弟的查找。排答疑和辅导。完整代码:#include#inclu.
家谱管理系统
——
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 * Tree,char name[],int length);
//
主函数
void main()
{
TreeNode *Tree;//
产生根节点
Tree=(TreeNode *)malloc(sizeof(TreeNode));
Tree->Parent =NULL;
strcpy(Tree->Name,"0");
MainMenu(Tree);//
显示主菜单
}
//
添加新的成员
void AddNew(TreeNode * Tree)
{
SubMenue2(Tree);//
添加新成员界面
}
//
显示添加家庭信息的界面
更多推荐
所有评论(0)