家谱管理系统设计报告Word下载.docx

上传人:b****1 文档编号:3907793 上传时间:2023-05-02 格式:DOCX 页数:37 大小:82.04KB
下载 相关 举报
家谱管理系统设计报告Word下载.docx_第1页
第1页 / 共37页
家谱管理系统设计报告Word下载.docx_第2页
第2页 / 共37页
家谱管理系统设计报告Word下载.docx_第3页
第3页 / 共37页
家谱管理系统设计报告Word下载.docx_第4页
第4页 / 共37页
家谱管理系统设计报告Word下载.docx_第5页
第5页 / 共37页
家谱管理系统设计报告Word下载.docx_第6页
第6页 / 共37页
家谱管理系统设计报告Word下载.docx_第7页
第7页 / 共37页
家谱管理系统设计报告Word下载.docx_第8页
第8页 / 共37页
家谱管理系统设计报告Word下载.docx_第9页
第9页 / 共37页
家谱管理系统设计报告Word下载.docx_第10页
第10页 / 共37页
家谱管理系统设计报告Word下载.docx_第11页
第11页 / 共37页
家谱管理系统设计报告Word下载.docx_第12页
第12页 / 共37页
家谱管理系统设计报告Word下载.docx_第13页
第13页 / 共37页
家谱管理系统设计报告Word下载.docx_第14页
第14页 / 共37页
家谱管理系统设计报告Word下载.docx_第15页
第15页 / 共37页
家谱管理系统设计报告Word下载.docx_第16页
第16页 / 共37页
家谱管理系统设计报告Word下载.docx_第17页
第17页 / 共37页
家谱管理系统设计报告Word下载.docx_第18页
第18页 / 共37页
家谱管理系统设计报告Word下载.docx_第19页
第19页 / 共37页
家谱管理系统设计报告Word下载.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

家谱管理系统设计报告Word下载.docx

《家谱管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《家谱管理系统设计报告Word下载.docx(37页珍藏版)》请在冰点文库上搜索。

家谱管理系统设计报告Word下载.docx

//记录这个人的儿女

structTreeNode*Parent;

//记录这个节点的父节点

3.2实现方法

完成功能的函数有

voidCreatTree(TreeNode*Tree);

//--------------------------------创建树

voidOutPutAll(TreeNode*Tree);

//-------------------------------遍历并输出树中的内容

voidfirstoftxt();

//----------------------------------------------------写入文件的开始信息

voidofAll(TreeNode*Tree);

//-------------------------------------写入文件函数

voidifAll();

//---------------------------------------------------------读取文件的函数

TreeNode*SearchTree(TreeNode*Tree,charname[],intlength);

//查找结点的函数

voidMainMenue(TreeNode*Tree);

//-----------------------------主菜单

voidSubMenue1(TreeNode*Tree);

//----------------------------修改成员信息的菜单

voidSubMenue2(TreeNode*Tree);

//-----------------------------添加新成员菜单

voidChange(TreeNode*Tree);

//---------------------------------修改成员信息

voidAddNew(TreeNode*Tree);

//--------------------------------添加新成员

voidOutPutMessage(TreeNode*Tree,charname[],intlength);

//输出已经查找到的人的信息

第四章详细设计

4.1功能构想

构想好总体规划之后,便开始设计程序中需要用到的各个功能函数,初步构想是要先实现最基本的几项功能,其中数据操作的有:

增加成员,修改成员资料,删除成员;

数据存取的有:

打开家谱,新建家谱,保存家谱;

数据查询的有:

查看某代信息,按姓名查找,查看成员关系,等等。

4.2界面设计

cout<

<

"

\n\n\t---*****---请选择你的操作---****---"

;

cout<

\n\t--------------1:

输入家谱信息建立多叉树----------------------"

\n\t--------------2:

在家族中查找某人并输出他或(她)的相应信息----"

\n\t--------------3:

添加新的成员--------------------------------"

\n\t--------------4:

输出整个家谱信息----------------------------"

\n\t--------------5:

修改某个人的信息----------------------------"

cout<

\n\t--------------6:

家谱信息存入文件----------------------------"

\n\t--------------7:

读取家谱信息文件----------------------------"

\n\t--------------8:

退出整个程序--------------------------------\n\t"

if(选择1)

{CreatTree(TreeNode*Tree);

}

Elseif(选择2)

{OutPutMessage(TreeNode*Tree,charname[],intlength);

}

Elseif(选择3)

{AddNew(TreeNode*Tree);

Elseif(选择4)

{OutPutAll(TreeNode*Tree);

Elseif(选择5)

{Change(TreeNode*Tree);

Elseif(选择6)

{ofAll(TreeNode*Tree);

Elseif(选择7)

{ifAll();

Else

{exit(0);

4.3增加成员

4.3.1添加子女

NewNode=newTreeNode;

\n\n\t请输入添加人员姓名:

"

cin>

>

NewNode->

Name;

\n\n\t请输入添加人员性别女(0)男

(1):

Sex;

num=Tree->

Num;

NewNode->

NextNode[0]=newTreeNode;

NextNode[0]=NULL;

Num=0;

Parent=Tree;

Tree->

NextNode[num+1]=NewNode;

Num=Tree->

Num+1;

\n\n\t-------------子女的信息添加成功----------------"

4.3.2添加配偶

NextNode[0]=NewNode;

4.4修改成员

4.4.1修改个人信息

\n\n\t请输入修改的姓名(如果不需要修改就输入'

0'

然后按Enter键继续):

\n"

cin>

name;

if(strcmp(name,"

0"

)!

=0)

strcpy(Tree->

Name,name);

\n\n\t是否要修改性别:

(如果需要就输入'

1'

不需要修改就输入'

然后按Enter键继续):

flag;

if(flag==1)

{

if(Tree->

Sex=='

Tree->

Sex='

elseTree->

4.4.2修改父母信息

\n\n\t请输入"

Parent[0]<

要修改的姓名(如果不需要修改就输入'

strcpy(Tree->

Parent->

Parent[1]<

NextNode[0]->

4.4.3修改兄弟姐妹的信息

NextNode[i]->

Name<

修改的姓名(如果不需要修改就输入'

strcpy(NewNode->

\n\n\t是否要修改性别(如果需要就输入'

不需要修改就输入'

if(NewNode->

NewNode->

elseNewNode->

4.4.4修改子女的信息

Tree->

else

第五章调试分析

1.进入系统

2.建立家谱

3.查看信息

4.添加成员

5.修改信息

第六章测试结果

父亲姓名田迎新母亲姓名陈瑞英姐姐田紫藤姐夫孙超本人田紫恒李美霖

致谢

感谢孙红艳老师辛苦教导与教诲,让我学到了很多知识,提高了很大的能力。

与此同时,也感谢老师为我辛苦验收课设,耐心讲解,让我也受益匪浅。

今后,我一定会努力学习,用我的实际行动来回报家长,感谢我的老师,为学校争光,努力为我们的国家,贡献出一份微薄的贡献!

参考文献

[1]《数据结构》C++语言版 严蔚敏 吴伟民编著清华大学出版社2011

[2]《数据库数据结构软件工程课程设计指导及习题解答》徐志才 方贤文 刘士喜编北京师范大学出版社2011

[3]《C++语言程序设计》何钦铭颜晖主编高等教育出版社2008

附录

#include<

iostream.h>

string.h>

stdio.h>

//getchar可以将键入的信息存到缓冲区,按Enter键将进行输入

stdlib.h>

//system的头文件,exit的头文件

fstream.h>

intMATEFLAG=0;

typedefstructTreeNode

{intNum;

}TreeNode;

voidCreatTree(TreeNode*Tree);

//-------------------------------创建树

//--------------------------------------------写入文件的开始信息

//-----------------------------------写入文件函数

//-------------------------------------------------读取文件的函数

//-------------------------------主菜单

//------------------------------修改成员信息的菜单

//-------------------------------添加新成员菜单

//---------------------------------添加新成员

//---输出已经查找到的人的信息

//主函数

voidmain()

{TreeNode*Tree;

Tree=newTreeNode;

Parent=NULL;

Name,"

);

MainMenue(Tree);

//添加新的成员

voidAddNew(TreeNode*Tree)

{SubMenue2(Tree);

//输出副菜单

voidSubMenue2(TreeNode*Tree)

{charc;

intnum;

charname[20];

TreeNode*NewNode;

while

(1)

{system("

cls"

\t"

\n\n\t---*****---请选择你的操作---****---"

\n\t---*---*---*---1:

添加某个人的子女的信息---*---*---*---*----"

\n\t---*---*---*---2:

添加某个人配偶的信息-*---*---*---*---*----"

\n\t---*---*---*---3:

退出-*---*---*---*---*---*---*---*---*----\n\t"

请输入:

cin>

c;

switch(c)

{case'

:

cout<

\n\n\t请输入那个人的名字:

cin>

Tree=SearchTree(Tree,name,20);

if(Tree==NULL)

{cout<

\n\n\t****该家谱图中没有"

name<

这个人的信息,请确认是否输入错误*****\n"

break;

}if(Tree->

Parent==NULL&

&

NextNode[0]==NULL||Tree->

Parent!

=NULL&

Name!

=Tree->

Name)

{cout<

\n\n\t"

至今还没有配偶请先添加配偶!

break;

}

if(Tree->

(Tree->

Num>

20||Tree->

Num<

0))

Tree->

if(MATEFLAG==1)

Tree=Tree->

Parent;

NewNode=newTreeNode;

cout<

num=Tree->

NewNode->

Tree->

case'

2'

if(Tree->

strcmp(Tree->

Name,Tree->

Name)==0||Tree->

NextNode[0]!

=NULL)

\n\n\t已经有了配偶"

break;

break;

}

NewNode=newTreeNode;

3'

\n\n\t----------------本项服务到此结束-----------------"

\n'

default:

\n\n\t--------对不起!

你的选择不在服务范围之内!

---------"

\n\t-----------请您再次选择所需的服务项!

-------------"

\n\t------------------谢谢合作!

----------------------\n\t"

break;

}

if(c=='

break;

//修改某个人的信息

voidChange(TreeNode*Tree)

{charname[20];

\n\t请输入你要修改的人的信息:

NewNode=SearchTree(Tree,name,20);

if(NewNode==NULL)

{cout<

return;

else

{SubMenue1(NewNode);

voidSubMenue1(TreeNode*Tree)

intflag,i;

charParent[2][20];

修改个人的信息---*---*---*---*---*---*----"

修改父母的信息---*---*---*---*---*---*----"

修改兄弟姐妹的信息---*---*---*---*---*----"

\n\t---*---*---*---4:

修改子女的信息---*---*---*---*---*---*----"

\n\t---*---*---*---5:

修改配偶的信息---*---*---*---*---*---*----"

\n\t---*---*---*---6:

if(strcmp(name,"

strcpy(Tree->

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2