数据结构家谱管理系统 联系客服

发布时间 : 星期六 文章数据结构家谱管理系统更新完毕开始阅读

模块划分: 1、 统计模块 (1) 统计家族总人数、健在人数、几代人 (2) 主要函数: int Generation(Node *root); //这个家族共有几代人 int NumberOfPeople( ); //家族的总人数 int LifeNum( ); //健在人数 (3) 实现方法:静态成员变量 (4) 实现结果: 2、 更新模块 (1) 创建家谱、增加成员、删除成员、成员改名 (2) 主要函数: Node* Creat( ); //构造函数调用 void AddNewPeople(Node *root,string FatherName,string NAme); //增加新的家族成员 int DeletePeople(Node *root,string FatherName,string Deletepeople); //删除家族成员 int SetNewName(Node *root,string NAme,string NewName); //更改姓名 (3) 实现方法:创建家谱和成员改名主要通过递归调用;增加成员和删除成员主要通过栈的非递归调用。 (4) 实现结果: 3、 查询模块 (1) 查询成员详细信息、查询成员的孩子以及孩子的详细信息 (2) 主要函数: int Message(Node *root,string Name); //显示该成员的基本信息 int FindChild(Node *root,string NAme); //显示孩子信息 (3) 实现方法:通过递归调用,找到成员,输出相应的信息 (4) 实现结果: 4、 显示模块 (1) 前序、中序、后序遍历家谱 (2) 主要函数: void PreOrder(Node *root); //前序递归遍历输出家谱 void InOrder(Node *root); //中序递归遍历输出家谱 void PostOrder(Node *root); //后序递归遍历输出家谱 (3) 实现方法:递归遍历 (4) 实现结果: 5、 文件模块 (1) 保存到文件、从文件读取 (2) 主要函数: void SaveToFile(Node *root); //保存到文件 void FileToFamilyTree( Node *root) ; //从文件中读取 (3) 实现方法:文件流 (4) 实现结果: 数据结构实现: 1、 生日结构体 struct BirthDay { int year; int month; int day; friend istream& operator>>(istream &is,BirthDay &b); friend ostream& operator<<(ostream &os,const BirthDay &b); }; 2、 信息结构体(家族成员的基本信息) struct Information { string name; //姓名 string birthPlace; //出生地 BirthDay birthDay; //生日 string sex; //性别 string education; //学历 string job; //工作 string father; //父亲 string spouse; //配偶