家谱管理系统设计报告c语言,家谱管理系统设计报告.doc

家谱管理系统设计报告

目 录

第一章 绪论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功能构想

构想好总体规划之后,便开始设计程序中需要用到的各个功能函数,初步构想是要先实现最基本的几项功能,其中数据操

THE END
< <上一篇
下一篇>>