C/C++家谱管理系统[2024-05-22]

C/C++家谱管理系统[2024-05-22]

3、家谱管理系统

问题描述:
家谱用于记录某家族历代家族成员的情况与关系。本系统要求能对家谱进行存储、更新、查询、统计等操作。

基本功能要求:
程序必须采用树形数据结构实现。
(1) 录入:录入家庭成员信息,家庭成员的基本信息包括:(姓名,性别,出生日期,死亡日期,职业等)。各家庭成员之间的关系,以树形结构存储;
(2) 修改:修改成员信息;
(3) 删除:删除成员信息(删除某成员必须把其子孙全部删除);
(4) 输出:将家谱以较友好的格式输出(显示);
(5) 查询:按基本信息查询成员。
(6) 统计:统计并显示结果,统计的项目可以包括(平均寿命、男女比例等);
扩展功能要求:
(1) 导出:把家谱成员信息及关系导出到文件中保存;
(2) 实现图形用户界面与用户进行交互。

三、作业要求
1、 选题:从3个题目中任选其一,独立完成。
2、 程序代码要求:程序要求能够调试通过,具备基本功能,完成可选做的扩展功能将得到较高的分数。容错性强和功能细节考虑更完全也将得到较高的分数。

源码联系UP主 -> https://space.bilibili.com/329101171

1、家族通讯录管理系统

1.1 题目简述
家谱能以一种表谱形式记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹,它是中国特有的文化遗产之一;不管行多远,飞多高,家是你永远的根,现代社会瞬息万变,也许家族人口会变,联系方式会变,但浸心入髓的亲情不会变。本次课程设计拟根据特定的家谱数据文件设计并实现一款以族谱为基础的家族通信录系统,以方便管理和查询家族成员的基本信息和通讯信息,以进一步地维系和巩固血浓于水的亲情。

1.2系统的功能需求
系统开发所基于的族谱数据以文件形式存放于计算机内,初始的文件应包含以下内容:姓名、性别(’男’or’女’)、出生日期(eg:1980-09-12)、婚否(‘是’or’否’)、死亡日期(若其已死亡)、家庭住址、手机、QQ、Email等,也可附加其它信息。
系统要求完成的主要功能包括:
(1)读取数据文件创建族谱结构,即初始化系统;
(2)输出家族通信录,形式可以是图形方式、凹入式等。
(3)查询家族相关的基本信息;
①根据输入的“代”的数目,显示家族中第几代所有人的基本信息。
②按照姓名查询,输出相关人员信息(包括其本人、父亲、孩子的信息)。
③按照出生日期查询成员名单。
④输入两人姓名,输出其相互关系(兄弟/堂兄弟、第几代子孙、第几代祖先、双亲、孩子等)。
… (可自行添加其他查询功能,此项为加分项)
(4)查询家族相关的通信录信息
①根据姓名查找其向下/向上几代人以内的家族成员通信录信息
②根据姓名查找其同一辈人的通信录信息
…(可自行添加其他查询功能,此项为加分项)
(5)维护家族成员的相关信息,如通信录信息的修改、增加一个新的家族成员等。修改之后的信息写回文件,便于下一次初始化。

1.3系统的其他需求
(1)要求建立至少20个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。
(2)修改和增加信息时,需要考虑数据的有效性、约束性、完整性。
(3)存储结构:根据系统功能要求自行设计,但要求相关数据要及时追加和同步到数据文件中。

家族族谱管理系统

1.课题名称:

家族族谱管理

2.主要目标:

通过训练,强化学生对树结构、二叉树结构的表示及操作算法的掌握和灵活运用

3.具体要求:

要求设计实现具有下列功能的家谱管理系统:

(1) 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含姓名、出生日期、婚否、地址等;
(2) 实现数据的存盘和读盘;
(3) 以图形方式显示家谱;
(4) 显示第n 代所有人的信息;
(5) 按照姓名查询,输出成员信息 (包括其本人、父亲、孩子的信息);
(6) 按照出生日期查询成员名单;
(7) 输入两人姓名,确定其关系;
(8) 某成员添加孩子;
(9) 删除某成员 (若其还有后代,则一并删除);
(10) 修改某成员信息。

1. 家谱管理系统的设计与实现

实现对某家族成员信息的管理,包含建立、查找、插入、修改、删除等功能。
(1)家谱祖先数据的录入。
(2)家庭成员的添加:即添加某一人的儿女,输入相应的儿女姓名(此处儿女的姓名不能重名)和其它相关信息。
(3)家庭成员的修改:可以修改某一成员的姓名等信息。
(4)成员的查询:查询某一成员在家族中的辈分(第几代),并能查询此成员的所有子女及这一辈的所有成员。
(5)家庭成员的删除:删除此成员时,若其有后代,将删除其所有后代成员。
(6)显示功能。
(7)根据设置的成员属性,自行拟定其它各种统计功能。

家族谱管理系统

1、家族谱建立
每个成员包含(姓名(关键字、不重复)、性别、妻子、出生日期、死亡日期(可空))
简化设计,使用二叉树表示,假定每个成员最多2个孩子
女儿的孩子不进家谱
2、家族谱显示(打印)
3、家族谱查找
按照姓名查找,成功后显示查找到的人的信息
在完成以上内容基础上可发散思维,做的更好,比如打印效果,支持多个儿子,支持查找人物关系等等

题目8:家谱管理系统 (1~3人)

[问题描述]

实现具有下列功能的家谱管理系统

1).输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。
2).实现数据的存盘和读盘。
3).显示家谱。
4).显示第 n 代所有人的信息。
5).按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)
6).按照出生日期查询成员名单。
7).输入两人姓名,确定其关系。
8).某成员添加孩子。
9).删除某成员(若其还有后代,则一并删除)。
10).修改某成员信息。
11).按出生日期对家谱中所有人排序。

[基本要求]
建立至少 30 个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。[界面要求]:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
[存储结构]:
学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。
[测试数据]:
要求使用 1、全部合法数据; 2、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

题目B5:基于角色管理的简易家谱管理系统

(一)课题内容
家谱管理系统是查询家谱信息必不可少的一部分,利用家谱管理系统可以清楚的了解家族成员信息。该家谱管理系统是通过树形数据结构来实现的。要求系统界面友好,易于操作。
(二)课题要求
(1)需要设置普通用户、超级管理员不同角色,不同角色登录后的权限各不相同,普通用户可以进行查询;超级管理员有对所有成员增加、删除和修改的权限。
(2)家谱中成员的信息中均应包含姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)等,也可附加其它信息,并存储于文本文件中。
(3)查询功能。可按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息、所在辈分);按照出生日期查询成员名单。
(4)按出生日期对家谱中所有人排序。
(5)打开家谱时,提示当天生日的健在成员。
(6)以图形方式显示家谱。
【其他要求】
(1)变量、函数命名符合规范。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)界面关观,交互方便。

C语言“我的家谱”程序

建立“我的家谱”问题 家谱:又称族谱,是记载一个家族的世系繁衍及重要人物事迹的书。家谱中记录着父亲、母亲和孩子的姓名。请大家利用二叉树设计一个家谱,要求完成以下功能:
(1)输入和输出家谱记录;
(2)查找某个人所有的孩子;
(3)查找某个人所有的祖先;
(4)为某个人添加配偶和孩子的记录。

[问描述]
假定在当今家庭中,每个人最多可以养育两个孩子,请建立一个从曾祖父开始的家谱,用二叉树的数据结构表示(二叉树的层数可以为 3-4 层)。

[基本要求]
1.实现整个家谱成员的输出。
2.实现家谱中成员的查找与定位,比如该成员位于家谱的第几代。
3.实现家谱中某个成员的双亲结点、子女结点的输出。

家族谱图示.png

程序展现

主菜单.png

树形族谱显示.png

统计查询.png

源码联系UP主 -> https://space.bilibili.com/329101171

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值