关闭

关闭

关闭

封号提示

内容

首页 [教学]长春大学数据结构任务书_表格类模板_表格模板_实用文档.doc

[教学]长春大学数据结构任务书_表格类模板_表格模板_实用文档.doc

[教学]长春大学数据结构任务书_表格类模板_表格模板_实用文档…

上传者: 张佳思 2017-09-30 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《[教学]长春大学数据结构任务书_表格类模板_表格模板_实用文档doc》,可适用于表格/模板领域,主题内容包含教学长春大学数据结构任务书表格类模板表格模板实用文档目录一、设计题目二、设计目的三、设计分析四、总体设计五、详细设计六、系统调试七、结论一、设计题目符等。

教学长春大学数据结构任务书表格类模板表格模板实用文档目录一、设计题目二、设计目的三、设计分析四、总体设计五、详细设计六、系统调试七、结论一、设计题目家谱管理系统二、设计目的用已经学过的知识设计一个简单的应用程序方便家谱的管理。了解并掌握数据结构与算法的设计方法具备初步的独立分析和设计能力初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能提高综合运用所学的理论知识和方法独立分析和解决问题的能力训练用系统的观点和软件开发一般规范进行软件开发培养软件工作者所应具备的科学的工作方法和作风。家谱用于记录某家族历代家族成员的情况与关系。本课程设计要求设计并实现一个计算机软件支持对家谱的存储、更新、查询、统计等操作。培养大家的由理论到实践的学习能力增强同学们的团队合作精神。三、设计分析内部要求:要求将家谱信息看作树形结构处理并可存储在外存。数据可一次读入内存外部要求:这一级要求系统具备下列基本功能:、家庭成员信息存储:将每个家庭成员的基本信息存储在计算机中(可永久保存)。家庭成员的基本信息至少应包括:(姓名出生地出生日期死亡日期性别身高学历职业最高职务职称„)、家族关系存储:将各家庭成员之间的关系存储在计算机中(可永久保存)、更新:家谱数据的更新(修改、删除、加入)D)输出:将家谱以较友好的格式输出(显示)、查询:按基本信息查询成员按亲戚关系查询四、总体设计对问题描述中涉及的操作对象定义相应的数据类型并按照以数据结构为中心的原则划分模块定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明)各个主要模块的算法并画出模块之间的调用关系图。五、详细设计家庭成员基本信息用线性表表示程序结束后存储在磁盘上程序开始是从磁盘读出家庭成员之间的关系用树形结构(家族树)表示家族树在程序结束后存储在磁盘上程序开始是从磁盘读出树在内存中的存储结构:邻接表或孩子兄弟链带父指示器家庭成员基本信息设置数字编号用于唯一地标识记录树结点用家庭成员的编号标识。通过编号建立家庭成员的基本信息与树结点的联系树在磁盘文件中的存储结构:存储串行化结果如“根叶序列”所谓“根叶序列”是指从树根到每个叶子结点的路径。路径的排列次序表示兄弟的次序。例如下图表示的树的“根叶序列”为:,,,,,,,(这三行的次序表示,,的次序即,,分别是的第,,个孩子),,,,,六、系统调试系统的所有功能:如图图建立家谱:如图图七、结论在设计的初期首先通过文档的整理初步定了一下本系统主要实现的功能:建立新的家庭系谱图在家谱中增加新成员以及其基本信息更新一个成员的信息删除和查看一个人的信息通过亲属寻找一个成员。在设计中期进行算法设计代码编写。最后进行上机调试并在调试过程中改进代码。撰写说明书。此次设计使我学的知识得到了升华。附源代码:#include<iostreamh>#include<fstreamh>#include<stringh>#include<stdlibh>#include"genealogyh"voidmain(){GEnealogygedpersonpnode=newCSNodepersonresultname=newCSNodeintchoicecharNamemaxcharnum,tagmaxcharnumstrcpy(tag,"")while(){输出主画面选择菜单cout<<"***************************GenealogySystem***************************"<<endlcout<<"BuildanewGenealogy"<<endlcout<<"ReadGenealogyDatafromabinarydatfile"<<endlcout<<"SaveGenealogyDataintodisk"<<endlcout<<"AddapersontotheGenealogy"<<endlcout<<"ModifyapersonintheGenealogy"<<endlcout<<"Deleteapersonandhisalloffspring"<<endlcout<<"DisplaytheGenealogyinthetreeform"<<endlcout<<"StatisticapersonstatusintheGenealogy"<<endlcout<<"Findapersonbyhisinformation"<<endlcout<<"Findapersonbyrelativerelationshiop"<<endlcout<<"Exit"<<endlcin>>choiceswitch(choice){case:选建立一个二叉树家谱并输入根结点信息system("cls")cout<<"*************BuildanewGenealogyOperation*********************"<<endlstrcpy(pnode>dataparentname,tag)gedNewGEnealogy()cout<<"Pleaseinputtheinformationoftherootperson"<<endlgedInputData(pnode)gedAdd(,pnode)breakcase:选从文件读取数据建立二叉树gedCreateGEnealogy()system("cls")cout<<"***********************ReadOpertation***************************"<<endlcout<<"Readsuccessfully"<<endlbreakcase:选保存二叉树信息到文件system("cls")cout<<"***********************SaveOpertation***************************"<<endlgedSaveGEnealogy()cout<<"Savesuccessfully"<<endlbreakcase:选在二叉树添加结点system("cls")cout<<"***********************AddChildOpertation***************************"<<endlif(gedGetRoot())gedAddOperation()根结点非空调用addoperation()添加结点else{否则添加根结点gedNewGEnealogy()cout<<"It'saGenealogy,Pleaseinputtheinformationoftherootperson"<<endlgedInputData(pnode)gedAdd(,pnode)}breakcase:选修改树结点信息system("cls")cout<<"***********************ModifyOpertation***************************"<<endlcout<<"Pleaseinputthenameofthepersonyouwanttomodify"<<endlcin>>Nameresultname=gedFindByName(gedGetRoot(),resultname,Name)if(resultname){cout<<"Pleaseinputnewinformationoftheperson"<<endlgedInputData(pnode)gedModify(resultname,pnode)}elsecout<<"Inputerror"<<endlbreakcase:选删除某个结点以及他的所有孩子结点system("cls")cout<<"***********************DeleteOpertation***************************"<<endlcout<<"Pleaseinputthenameofthepersonandhisoffspringyouwanttodelete"<<endlcin>>Nameresultname=gedFindByName(gedGetRoot(),resultname,Name)if(resultname){gedDelete(resultname)cout<<"Deletesuccessfully"<<endl}elsecout<<"Inputerror"<<endlbreakcase:选输出树型表system("cls")cout<<"***********************DisplayOpertation***************************"<<endlif(gedGetRoot())gedDisplayTree(gedGetRoot())elsecout<<"Genealogyis"<<endlbreakcase:选调用统计函数system("cls")cout<<"***********************StatisticOpertation***************************"<<endlgedStatistic()breakcase:调用按基本信息查询函数选system("cls")cout<<"***********************InquieOpertationI***************************"<<endlgedInquire()breakcase:选查询亲属关系system("cls")cout<<"***********************InquieOpertationII***************************"<<endlcout<<"Pleaseinputthenameofthepersonyouwanttofindabouthisrelative"<<endlcin>>NamegedFindByName(gedGetRoot(),resultname,Name)if(resultname)gedFindByRelationship(resultname)elsecout<<"Inputerror"<<endlbreakcase:选退出system("cls")cout<<"GoodBye"<<endlcout<<"THANKYOUFORUSING"<<endlreturndefault:其他输入错误重输cout<<"Inputerror,pleasereinput"<<endlbreak}}}

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/7
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部