课程设计的要求
1、项目名称:族谱管理系统的设计与实现
2、目的要求:采用树型结构实现族谱的创建、查询、插入等相关操作。课程设计目的是理解树型结构的设计思想,通过课程设计,一方面掌握《数据结构》课程相关概述和知识点,另一方面提升利用专业知识解决实际问题的能力。初步了解软件开发过程及,能撰写比较规范的课程设计报告。
3、设计项目要求:
根据提供的三个文档,创建族谱,各文档说明如下:
表2 数据信息表
文件名称 |
格式说明 |
baseinfo.txt |
人员基本信息表 第一行表示人数n,接下来n行,每行一个人的基本信息,用一个空格隔开,分别是身份证号和姓名 |
marriageinfo.txt |
婚姻信息表 第一行表示夫妻对数n,接下来n行,每行一对夫妻,用一个空格隔开,分别是丈夫和妻子的身份证号 |
childinfo.txt |
孩子信息表 第一行表示记录数n,接下来n行,每行以空格隔开若干个身份证号,第一个是父亲身份证号,后面是孩子身份证号 |
表3 项目要求
功能名称 |
需求说明 |
相关操作说明 |
创建族谱结构 |
根据提供的三个文件,创建相应的结构体,完成族谱的创建 |
要求采用数据结构《树》相关知识点完成结构体的创建,并根据提供的三个文件创建族谱 |
新生孩子的插入 |
新生孩子生,在族谱中插入相应的孩子信息 |
在族谱中插入孩子结点,同时将信息保存到相应的文件中。必须结婚才能有新生孩子。 |
第几代查询 |
根据身份证号查询某人在族谱中所属代数,即第几代人 |
根结点(祖先)为第一代,其孩子为第二代,依次类推 |
父母亲查询 |
根据身份证号查询某人的父母亲 |
查询结果显示父母亲的身份证号和姓名 |
孩子查询 |
根据身份证号查询某人的所有孩子 |
查询结果显示所有孩子的身份证号和姓名,如果没有孩子,输出“没有孩子” |
祖先查询 |
根据身份证号查询某人的所有祖先(父亲及以上的都称为祖先) |
依次输出所有的祖先,直到根结点,每一个祖先占一行,即身份证号和姓名 |
结婚信息插入 |
输入两个身份证号,表示结婚的两个人,完成结婚操作 |
项目初步要求仅一个家族族谱,仅考虑本家族男性结婚,同学们也可以扩展。本族谱可以不考虑离婚情况,即已结婚的不得再有新的结婚记录。 |