求教“家谱管理系统设计与实现”
作业不会做,请问哪位高手可以帮帮小弟,实在是感激不尽!!!! 家谱管理系统设计与实现
1.问题阐述:
家谱用于记录某家族历代家族成员的情况与关系。本课程设计要求设计并实现一个计算机软件,支持对家谱的存储、更新、查询、统计等操作。
2.基本功能
家庭成员信息存储:将每个家庭成员的基本信息存储在计算机中(可永久保存)。家庭成员的基本信息至少应包括:
(姓名,出生地,出生日期,死亡日期,性别,身高,学历,职业,最高职务/职称, …)
家族关系存储:将各家庭成员之间的关系,存储在计算机中(可永久保存)。
更新:家谱数据的更新(修改、删除、加入)
输出:将家谱以较友好的格式输出(显示)
查询:按基本信息查询成员,按亲戚关系查询
3.扩展功能
统计:统计任一家庭的:
平均寿命
平均身高
男女比例
家庭平均人口
平均(最高/低)学历
… …
包括结果的打印(显示)。
4.高级功能
屏幕显示树形(类似Windows 目录)
全屏可视化操作
支持鼠标
5.实现要求
编写的程序在DOS环境(或Windows 下的命令行模式)字符方式下运行;
使用相应环境下的C/C++编程
6.设计提示
家庭成员基本信息用线性表表示,程序结束后存储在磁盘上,程序开始是从磁盘读出。
家庭成员之间的关系,用树形结构(家族树)表示。
家族树在程序结束后存储在磁盘上,程序开始是从磁盘读出。
树在内存中的存储结构:邻接表或孩子兄弟链,带父指示器。
家庭成员基本信息设置数字编号,用于唯一地标识记录。
树结点用家庭成员的编号标识。通过编号,建立家庭成员的基本信息与树结点的联系。
树在磁盘文件中的存储结构:存储串行化结果,如“根-叶序列”。
所谓“根-叶序列”,是指,从树根到每个叶子结点的路径。路径的排列次序表示兄弟的次序。例如,下列树的“根-叶序列”为:
1, 2, 4
1, 2, 6
1, 2, 8, 5(这三行的次序,表示,(a)4,6,8的次序; (b) 2是1的第一个孩子, 。。。)
1, 7
1, 3, 9
1, 3, 10
先建立针对选定存储结构的树对象
要求:提交相应设计报告与完整源程序。