长春大学数据结任务书.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
长春大学数据结任务书

目 录 一、设计题目 1 二、设计目的 1 三、设计分析 1 四、总体设计 2 五、详细设计 2 六、系统调试 3 七、结论 4 一、设计题目 家谱管理系统 二、设计目的 用已经学过的知识设计一个简单的应用程序,方便家谱的管理。 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 家谱用于记录某家族历代家族成员的情况与关系。本课程设计要求设计并实现一个计算机软件,支持对家谱的存储、更新、查询、统计等操作。 培养大家的由理论到实践的学习能力,增强同学们的团队合作精神。 三、设计分析 内部要求:要求将家谱信息看作树形结构处理,并可存储在外存。数据可一次读入内存; 外部要求:这一级要求系统具备下列基本功能: 1、家庭成员信息存储:将每个家庭成员的基本信息存储在计算机中(可永久保存)。家庭成员的基本信息至少应包括: (姓名,出生地,出生日期,死亡日期,性别,身高,学历,职业,最高职务/职称,…); 2、家族关系存储:将各家庭成员之间的关系,存储在计算机中(可永久保存); 3、更新:家谱数据的更新(修改、删除、加入);D)输出:将家谱以较友好的格式输出(显示); 4、查询:按基本信息查询成员,按亲戚关系查询; 四、总体设计 对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。 五、详细设计 家庭成员基本信息用线性表表示,程序结束后存储在磁盘上,程序开始是从磁盘读出; 家庭成员之间的关系,用树形结构(家族树)表示; 家族树在程序结束后存储在磁盘上,程序开始是从磁盘读出; 树在内存中的存储结构:邻接表或孩子兄弟链,带父指示器; 家庭成员基本信息设置数字编号,用于唯一地标识记录; 树结点用家庭成员的编号标识。通过编号,建立家庭成员的基本信息与树结点的联系; 树在磁盘文件中的存储结构:存储串行化结果,如“根-叶序列”; 所谓“根-叶序列”,是指,从树根到每个叶子结点的路径。路径的排列次序表示兄弟的次序。例如,下图表示的树的“根-叶序列”为: 1, 2, 4 1, 2, 6 1, 2, 8, 5(这三行的次序,表示4,6,8的次序,即4,6,8分别是2的第1,2,3个孩子) 1, 7 1, 3, 9 1, 3, 10 六、系统调试 系统的所有功能:如图1 图1 建立家谱:如图2 图2 七、结论 在设计的初期,首先通过文档的整理,初步定了一下本系统主要实现的功能:建立新的家庭系谱图,在家谱中增加新成员以及其基本信息,更新一个成员的信息,删除和查看一个人的信息,通过亲属寻找一个成员。 在设计中期,进行算法设计,代码编写。 最后进行上机调试,并在调试过程中改进代码。撰写说明书。 此次设计使我学的知识得到了升华。 附源代码: #include iostream.h #include fstream.h #include string.h #include stdlib.h #include genealogy.h void main() { GEnealogy ged; person pnode=new CSNode; person resultname=new CSNode; int choice1; char Name[max_char_num],tag[max_char_num]; strcpy(tag,-1); while(1) { //输出主画面选择菜单 cout***************************Genealogy System***************************endl; cout1.Build a new Genealogy endl; cout2.Read Genealogy Data from a binary dat fileendl; cout3.Save Genealogy Data into diskendl; cout4.Add a person to the Genealogyendl; cout5.Modify a person in the Genealogyendl; cout6.Delete a person and his

文档评论(0)

fcp940 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档