家谱管理系统.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

家谱管理系统

。洛阳科技学院课程设计报告数据结构课程设计课程名称_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _家谱管理系统设计主题_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _计算机科学与技术专业_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b 150405班级_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b 15080822学校编号_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _宋世龙的姓氏是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ x XXX,2006年12月30日。完成日期_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

家谱管理系统设计的内容和要求;

[问题描述]

以下内容:

实现了具有以下功能的家谱树管理系统1)。输入一个文件,将每个成员的信息保存在原始家谱中,每个成员的信息应包括以下内容: 姓名、出生日期、婚姻状况、地址、生活状况和死亡日期(如果

他们已经死亡),可以添加其他信息,但不是必需的。

2)。实现数据保存和读取。3)。展示家谱。4)。根据出生日期查询成员列表。5)。根据姓名查询,输出成员信息(包括自己的、父亲的、孩子的信息)。

6)。修改成员的信息。

[基本要求]

以下内容:

接口要求:

有合理的提示,可以为每个功能设置菜单。根据提示,可以完成相关的功能需求。存储结构:

学生根据系统功能要求自行设计,但要求相关数据存储在数据文件中。测试数据:

需要使用

1.所有法律数据;

2.本地非法数据。

进行程序测试以确保程序的稳定性。请在提交的材料中注明测试数据和测试结果。讲师:

在_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _月日,课程评估结果如下:

讲师:

于_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.

首先,算法思维这个程序是一个管理家谱的系统。通过这个系统,

可以创建、显示、搜索、修改、保存和读取家庭成员。

系统分为以下模块:

创建一个家谱,显示它,通过名字和生日找到家庭成员,修改它,保存它,阅读它,并退出系统。

本程序中使用的存储形式是多叉树,因为家谱中的每个人都有父母和孩子,孩子的数量是不确定的,所以使用多叉树来存储是最合适的。如果您使用多叉树来存储它,您将使用递归创建和递归遍历多叉树。因为它是一个多分支树,广度优先搜索适合遍历。这个函数的主要思想是递归调用。递归将用于每个子函数。当定义一个结构时,指针数组的最大容量用来指定一个家谱中的最大人数。定义一个家谱的指针变量作为每个子函数的参数,从而将其返回给主函数。以下是算法思想流程图:

系谱树管理系统创建系谱树,显示系谱树,修改系谱树,搜索成员,根据他们的名字读写系谱树,根据他们的生日修改他们自己,修改他们的父母,保存和读取他们的孩子以退出系统。

2.模块1。int main(): main函数2。void CreatTree(树节点*T-省略-ad-儿童编号;i ) { head-NextNode[i]=(树)malloc(sizeof(树节点));如果(head-nextnode[I]==null){ printf(' \ t \ t重建树时内存分配失败!\ n ');返回;fread(head-NextNode[i),sizeof(TreeNode),1,FP);head-下一节点[I]-Parent=head;队列[后方]=头部-下一节点[I];} } f close(FP);fp=空;}

6.总结数据结构课程设计我选择的题目是家谱管理系统,历时四

天,由王月和我一起完成。总的来说,课程设计还是比较难的,我们选择的题目在这些题目中也很难。中间有很多困难,但在我和她讨论以及老师的帮助下,最终顺利完成了。在选题的开始,我没有太注意选择什么。我只是随便选了一个。只是后来我发现很难选择这个话题。经过分析,发现这个主题需要树,我没有学好树,所以很难写。起初,我用二叉树来存储它。后来,我发现我不能把它写成两半。使用递归来创建函数总是不合适的。最后,我不得不放弃。所以我开始在网上搜索信息,但是我发现的大部分信息与这个实验不一致,其中一些也是不可理解的。只有一个。我发现他用的是多分枝的树。我看了一会儿就能理解了。所以我计划把它储存在一棵多叉树里。然而,我不知道如何写它,但是我在检查了在互联网上创建多叉树的递归方法之后开始写它。电脑出现的前一天晚上,王月把他写的程序发给了我。除了保存和读取磁盘,其他功能基本实现。我把他的和我的做了比较,发现我们的写作是相似的,所以我和她结合来改变我的,基本的功能是可以实现的。接下来是最重要的模块,也是最麻烦的,保存磁盘和读取磁盘。王月和我咨询了去年课程设计的保存和阅读。但这是顺序表的保存和读取,与我们使用的不同。这时我们不知道,所以我们向老师求助。老师给我们讲了一些关于储蓄和阅读的知识,让我们看看这本书。我们终于对这一知识有了大致的了解。接下来,我们在互联网上搜索信息,最后写出了存档和读取磁盘。然而,当它运行时,发现还有另一个问题。从表面上看,它似乎只能被存储而不能被读取。所以我们向老师寻求帮助。读完我们的程序后,老师建议我们用不同

相关文档
最新文档