本项目旨在通过设计与实现一个家谱管理系统,运用C语言编程技术探索和实践数据结构的应用,包括但不限于链表、树等复杂数据类型。
系统开发所基于的族谱数据以文件形式存放于计算机内。初始的数据文件应包含以下内容:姓名、性别(男或女)、出生日期(例如:1980-09-12)、婚否(是或否)、死亡日期(若已去世)以及家庭住址和电子邮件等,也可以附加其它信息。
系统要求完成的主要功能包括:
1. 读取数据文件创建族谱结构,即初始化系统;
2. 输出家族通信录。形式可以为图形方式、凹入式等。
3. 查询家族相关的基本信息:
- 根据输入的“代”的数目,显示特定代数所有人的基本信息。
- 按照姓名查询,输出相关人员的信息(包括其本人、父亲及孩子的信息)。
- 通过出生日期查找成员名单;
- 输入两人名字,系统会给出两者之间的关系描述(如兄弟/堂兄弟、第几代子孙和祖先等)。
4. 查询家族相关的通信录信息:
- 根据姓名查询向下或向上几代的家族成员通讯录。
- 按照辈分查找同一辈人的联系方式。
5. 维护族谱中的个人信息,包括修改现有的联系信息、添加新的家庭成员。