家谱管理系统.docx
《家谱管理系统.docx》由会员分享,可在线阅读,更多相关《家谱管理系统.docx(8页珍藏版)》请在三一办公上搜索。
1、家谱管理系统一、需求分析本系统实现以下功能:1) .输入文件以存放最初家谱中各成员的信息。成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)也可附加其它信 息、但不是必需的。2) .实现数据的存盘和读盘。3) .以图形方式显示家谱。4) .显示第n代所有人的信息。5) .按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。6) .按照出生日期查询成员名单。7) .输入两人姓名,确定其关系。8) .某成员添加孩子。9) .删除某成员(若其还有后代,则一并删除)。10) .修改某成员信息。11) .按出生日期对家谱中所有人排序。12) .打开一家谱时,
2、提示当天生日的健在成员。测试要求:1) .建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。2) .对界面的要求是:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。二设计概要1、抽象数据类型兄弟孩子树的定义如下:ADT CSNode数据对象:person是兄弟孩子树中的每一个节点,T是整个树的统一体数据关系:R1= | 表示 person. 1 和 person.之间有血缘关系111基本操作:CSNode *CreatTree(fstream &outfile);初始条件:已经打开了文本文件PersonInfo.txt操作结果:创建一个兄弟孩子树
3、T,并把从文件中的数据送到树中,关闭文件。void CreatParent_step(CSNode *parent);初始条件:兄弟孩子树T已经存在操作结果:对所有的孩子节点添加指向父亲的指针vo.d InOrderTraverse(CSNode *T);初始条件:兄弟孩子树T已经存在操作结果:对T进行中序遍历。bool Today_Br.thday(CSNode *T)初始条件:兄弟孩子树T已经存在操作结果:根据计算机系统的时间判断几天是否有人过生日,并显示他们的名字。bool (int n,CSNode *T,LinkQueue &Q);初始条件:兄弟孩子树T已经存在,队列Q也已经存在操作
4、结果:用队列Q返回第N代人的所有信息void Link_Info(LinkQueue Q);初始条件:队列Q中是第N代人的所有信息操作结果:显示队列中所有人的信息。CSNode *DetectMember_Name(CSNode *T,char name);初始条件:兄弟孩子树T已经存在操作结果:根据输入的姓名进行查找,如找到则返回该节点的指针。CSNode *DetectMember_BornDate(CSNode *T,Date date);初始条件:兄弟孩子树T已经存在操作结果:根据输入的出生日期进行查找,如找到则返回该节点的指针。void OutputOneInfo(CSNode *T
5、);初始条件:采集到一个节点T操作结果:显示这一个节点的所有信息。void Output_Name_Relation(CSNode *T);初始条件:采集到一个节点T操作结果:显示这一个节点的父亲和孩子的所有信息。void Delete_Member(CSNode *T,char name);初始条件:兄弟孩子树T已经存在操作结果:根据输入的姓名进行查找,如找到则删除该节点和他所有的孩子节点。void Edit_Member_Info(CSNode *T,char name);初始条件:兄弟孩子树T已经存在操作结果:根据输入的姓名进行查找,如找到则根据用户要求修改相应的信息。bool Add_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家谱 管理 系统
链接地址:https://www.31ppt.com/p-5176548.html