家谱管理系统设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第一章绪论 (2)

第二章需求分析 (3)

2.1 题目 (3)

2.2 设计任务 (3)

2.3 数据测试 (3)

第三章概要设计 (3)

3.1 设计思想 (3)

3.2 实现方法 (4)

第四章详细设计 (4)

4.1 功能构想 (4)

4.2 界面设计 (4)

4.3 增加成员 (5)

4.3.1 添加子女 (5)

4.3.2 添加配偶 (5)

4.4 修改成员 (6)

4.4.1 修改个人信息 (6)

4.4.2 修改父母信息 (6)

4.4.3 修改兄弟姐妹的信息 (6)

4.4.4 修改子女的信息 (7)

第五章调试分析 (7)

第六章测试结果 (9)

致谢 (10)

参考文献 (11)

附录 (11)

第一章绪论

目前,很多家庭家谱丢失,家庭一些关系混乱,为了避免这一问题,制定一家谱程序。家谱用于记录某家族历代家族成员的情况与关系,实现对一个家族所有的资料进行收集整理。支持对家谱的存储、更新、查询、统计等操作。并用计算机永久储存家族数据,方便随时调用。

第二章需求分析

2.1 题目

家谱管理系统

2.2 设计任务

系统总体说明:以树形结构存储家族信息,只考虑三代(祖父,父亲,叔叔,姑姑,自己,兄弟姐妹,堂兄弟姐妹),只考虑每个人有 0 或者 1个兄弟姐妹的情况。注意每个结点结构。统计统计家族成员人数,查询家族成员辈份。

完成功能的详细说明: 1.输入家族成员情况,建立树结构(涉及创建二叉树);

2.统计家族成员人数和每一个家庭成员人数(涉及树的遍历);

3.查询家族成员辈份情况(任意输入两个家庭成员,查询他们的关系,父子,祖孙,兄弟,堂兄弟,共同的祖先)。

4. 选做,考虑每个人有多个兄弟姐妹的情况。

2.3 数据测试

第三章概要设计

3.1设计思想

测试的数据有:田迎新陈瑞英田紫藤田紫恒孙超李美霖

创建一棵树,存储家庭关系,数据类型有

int Num; // 记录这个人拥有几个儿女

char Name[20]; //记录这个人的姓名

char Sex; //标示节点的种类有女(0)男(1)

struct TreeNode * NextNode[20]; // 记录这个人的儿女 struct TreeNode * Parent; //记录这个节点的父节点

3.2 实现方法

完成功能的函数有

void CreatTree(TreeNode *Tree);// ----------------- 创建树

void OutPutAll(TreeNode *Tree);// ----------------- 遍历并输出树中的内容

void firstoftxt();// --------------------------- 写入文件的开始信息

void ofAll(TreeNode *Tree);// --------------------- 写入文件函数

void ifAll();// -------------------------------- 读取文件的函数

TreeNode * SearchTree(TreeNode *Tree,char name[],int length);// 查找结点的函数 void MainMenue(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);// 输出已经查找到的人的信息第四章详细设计

4.1 功能构想

构想好总体规划之后,便开始设计程序中需要用到的各个功能函数,初步构想是要先实现最基本的几项功能,其中数据操作的有:增加成员,修改成员资料,删除成员;数据存取的有:打开家谱,新建家谱,保存家谱;数据查询的有:查看某代信息,按姓名查找,查看成员关系,等等。

4.2 界面设计

cout<<"\n\n\t ---*****--- 请选择你的操作 ---****---";

cout<<"\n\t ------- 1: 输入家谱信息建立多叉树---------------- ";

cout<<"\n\t ------- 2: 在家族中查找某人并输出他或(她)的相应信息- ";

cout<<"\n\t ------- 3: 添加新的成员---------------------- ";

cout<<"\n\t ------- 4: 输出整个家谱信息--------------------

cout<<"\n\t ------- 5: 修改某个人的信息--------------------

cout<<"\n\t ------- 6: 家谱信息存入文件--------------------

cout<<"\n\t ------------- 8: 退出整个程序------------------------------- \n\t";

cout<<"\n\t ------- 7: 读取家谱信息文件--------------------

if( 选择 1)

相关文档
最新文档