数据结构课程设计--家谱管理系统设计与实现

数据结构课程设计--家谱管理系统设计与实现

ID:35626992

大小:426.00 KB

页数:35页

时间:2019-04-03

数据结构课程设计--家谱管理系统设计与实现_第1页
数据结构课程设计--家谱管理系统设计与实现_第2页
数据结构课程设计--家谱管理系统设计与实现_第3页
数据结构课程设计--家谱管理系统设计与实现_第4页
数据结构课程设计--家谱管理系统设计与实现_第5页
资源描述:

《数据结构课程设计--家谱管理系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构课程设计题目:家谱管理系统设计与实现姓名:何健良学号:200814602013006一.需求分析1.记录某家族历代的家族成员情况及关系,对家谱的存储、更新、查询、统计等的操作。2.存放记录家谱以后缀名为txt的文件形式记录家谱中各成员的信息。3.家族成员信息中均包含以下内容:如姓名、出生地、出生日期、死亡日期、性别、身高、学历、职业、职称。4.能对修改后存盘的家谱文件进行随时的修改及更新,方便操作。5.文件中打印的家谱及读出的家谱,应该形成树状的关系。6.家谱建立好后,以Dos(或windows下的命

2、令行模式)字符方式下运行。7.显示第n代人的所有信息(即家谱所有人的信息),并查询家谱中已有姓名的信息。8.按亲属关系的方式进行查询,输出上下亲属关系的姓名。9.随意出进添加某人的孩子,及删除某人(若其存在后代,则一并删除)。10.修改某人的信息。11.统计家族中的相关信息(如:平均寿命、平均身高、男女比例、家庭平均人口、平无(最高/低)学历等…..)二.概要设计采用二叉树进行家谱的管理,并以友好的输出形式展示,具有支持鼠标、全屏的可视化操作、树形显示家族,现程序涉及围绕家谱管理软件的类型,但基本操作者在”家

3、谱”类型中。1.定义”个人的信息”类型:ADTPerson{数据对象:D={Pj

4、Pj={姓名、出生日期、性别、出生地、出生日期、死亡日期、学历、身高、职业、职称},j=0,1,2,3……n,其中n>=0}数据关系:R={}基本操作:无}ADTPerson2.定义”家谱类型文件”类型ADTFamilyTypeFile{数据对象:D={Aj

5、Aj属于person,j=1,2,3,……,n其中n>=1}数据关系:D中每个对象用特定的字符隔开,R={

6、Aj属于D,j=1,2,3,……n,其中n

7、>=1,String属于字符串类型,为Aj父亲姓名(若String=-1,Aj无父亲,若String=Aj的姓名,表示家谱文件结束)}基本操作:1.打开家谱类型文件(.txt),建立兄弟、孩子二叉树。2.从内存读取兄弟、孩子二叉树,并建立家谱类型文件。}ADTFamilyTypeFile3.定义”家谱”类型ADTFamily{数据对象:D={Aj

8、Aj属于Person,j=1,2,3……n其中n>=0}数据关系:V={

9、aj-1,aj属于D,j=2,3,…..n其中n>=2,且Aj-1与Aj

10、为祖先与后代关系(parent),判断是否有后代,及其兄弟的关系,能过二叉链表表示}基本操作:1.显示某人信息。2.修改某人信息。3.增加某人孩子。4.删除某人。5.通过某人查找其双亲、孩子、兄弟。}ADTFamily二.详细设计1.定义”个人信息”类型structperson{charsex[10],birthaddress[20],birthday[14],deathday[20];//姓名,性别,出生地,生日charname[20],parentname[30];charwork[15],xueli[1

11、0],consort[20],zhiche[15];//职业学历配偶职称;charstature[10];//身高};2.定义”家谱类型文件”类型{//一个人的有关信息在磁盘文件中存储结构DWORDres;HANDLEhIn;INPUT_RECORDmouseRec;hIn=GetStdHandle(STD_INPUT_HANDLE);//获取标准输入设备句柄COORDpos={21,16},posa={33,27},posb={52,27};buttona[10],b[2],c[2];SetConsoleC

12、ursorPosition(hOut,pos);a[0].createbutton(pos,"姓名",14,236,hOut);//姓名pos.X+=30;a[1].createbutton(pos,"性别",14,236,hOut);//性别pos.X+=12;c[0].createbutton(pos,"男",14,236,hOut);pos.X+=4;c[1].createbutton(pos,"女",14,236,hOut);pos.Y+=2;pos.X-=46;a[2].createbutton(p

13、os,"身高",14,236,hOut);//身高pos.X+=20;SetConsoleCursorPosition(hOut,pos);cout<<"cm";pos.X+=10;a[3].createbutton(pos,"配偶",14,236,hOut);pos.Y+=2;pos.X-=30;a[4].createbutton(pos,"出生时间",14,236,hOut);//出生时间pos

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。