ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:98.54KB ,
资源ID:4131361      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4131361.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(家谱管理系统设计报告.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

家谱管理系统设计报告.doc

1、北华航天工业学院课程报告目录第一章绪论2第二章需求分析32.1题目32.2设计任务32。3数据测试3第三章概要设计33.1 设计思想33.2 实现方法4第四章详细设计44。1功能构想44.2界面设计44.3增加成员54。3。1 添加子女54.3.2 添加配偶54。4修改成员64。4。1修改个人信息64。4.2修改父母信息64。4.3修改兄弟姐妹的信息64。4.4修改子女的信息7第五章调试分析7第六章测试结果9致谢10参考文献11附录11第一章 绪论目前,很多家庭家谱丢失,家庭一些关系混乱,为了避免这一问题,制定一家谱程序。家谱用于记录某家族历代家族成员的情况与关系,实现对一个家族所有的资料进行

2、收集整理。支持对家谱的存储、更新、查询、统计等操作。并用计算机永久储存家族数据,方便随时调用。第二章 需求分析2.1题目家谱管理系统2。2设计任务系统总体说明:以树形结构存储家族信息,只考虑三代(祖父,父亲,叔叔,姑姑,自己,兄弟姐妹,堂兄弟姐妹),只考虑每个人有0或者1个兄弟姐妹的情况。注意每个结点结构。统计统计家族成员人数,查询家族成员辈份。完成功能的详细说明:1输入家族成员情况,建立树结构(涉及创建二叉树);2统计家族成员人数和每一个家庭成员人数(涉及树的遍历);3查询家族成员辈份情况(任意输入两个家庭成员,查询他们的关系,父子,祖孙,兄弟,堂兄弟,共同的祖先)。4。 选做,考虑每个人有

3、多个兄弟姐妹的情况。2。3数据测试测试的数据有:田迎新 陈瑞英 田紫藤 田紫恒 孙超 李美霖 .。第三章 概要设计3。1 设计思想创建一棵树,存储家庭关系,数据类型有int Num; /记录这个人拥有几个儿女char Name20; /记录这个人的姓名char Sex; /标示节点的种类有女(0) 男(1)struct TreeNode NextNode20; /记录这个人的儿女struct TreeNode Parent; /记录这个节点的父节点3。2 实现方法完成功能的函数有 void CreatTree(TreeNode Tree);/-创建树void OutPutAll(TreeNod

4、e *Tree);/-遍历并输出树中的内容void firstoftxt();/-写入文件的开始信息void ofAll(TreeNode Tree);/-写入文件函数void ifAll();/-读取文件的函数TreeNode SearchTree(TreeNode Tree,char name,int length);/查找结点的函数void MainMenue(TreeNode *Tree);/-主菜单void SubMenue1(TreeNode Tree);/-修改成员信息的菜单void SubMenue2(TreeNode *Tree);/-添加新成员菜单void Change(T

5、reeNode Tree);/-修改成员信息void AddNew(TreeNode Tree);/-添加新成员void OutPutMessage(TreeNode Tree,char name,int length);/输出已经查找到的人的信息第四章 详细设计4。1功能构想构想好总体规划之后,便开始设计程序中需要用到的各个功能函数,初步构想是要先实现最基本的几项功能,其中数据操作的有:增加成员,修改成员资料,删除成员;数据存取的有:打开家谱,新建家谱,保存家谱;数据查询的有:查看某代信息,按姓名查找,查看成员关系,等等。4.2界面设计coutnnt -*-请选择你的操作-*”;coutnt

6、-1:输入家谱信息建立多叉树-;cout”nt-2:在家族中查找某人并输出他或(她)的相应信息-”;cout”nt-3:添加新的成员-”;coutnt-4:输出整个家谱信息-”;coutnt-5:修改某个人的信息-; cout”nt-6:家谱信息存入文件-”;coutNewNode-Name;cout”nnt请输入添加人员性别女(0) 男(1): ;cinNewNode-Sex;num=TreeNum;NewNodeNextNode0=new TreeNode;NewNodeNextNode0=NULL;NewNodeNum=0;NewNode-Parent=Tree;TreeNextNode

7、num+1=NewNode;TreeNum=TreeNum+1;cout”nnt-子女的信息添加成功-”;4。3。2 添加配偶NewNode=new TreeNode;cout”nnt请输入添加人员姓名: ”;cinNewNodeName;coutNewNodeSex;NewNode-Parent=Tree;TreeNextNode0=NewNode;4.4修改成员4。4.1修改个人信息cout”nnt请输入修改的姓名(如果不需要修改就输入0,然后按Enter键继续):n;cinname;if(strcmp(name,”0”)!=0)strcpy(Tree-Name,name);coutfla

8、g;if (flag=1)if(Tree-Sex=0)Tree-Sex=1;else Tree-Sex=0;4。4。2修改父母信息coutnnt请输入 name;if(strcmp(name,0”)!=0)strcpy(Tree-Parent-Name,name);coutnnt请输入 ”name;if(strcmp(name,”0)!=0)strcpy(TreeParent-NextNode0Name,name);4.4。3修改兄弟姐妹的信息cout”nnt请输入 ”Name 修改的姓名(如果不需要修改就输入0,然后按Enter键继续):n”;cinname;if(strcmp(name,0

9、”)!=0)strcpy(NewNodeNextNodei-Name,name);cout”nnt是否要修改性别(如果需要就输入1不需要修改就输入0然后按Enter键继续):n;cinflag;if (flag=1)if(NewNode-NextNodeiSex=0)NewNodeNextNodei-Sex=1;else NewNodeNextNodei-Sex=0;4。4。4修改子女的信息coutNextNodei-Name,name);coutflag;if (flag=1)if(Tree-NextNodeiSex=0)TreeNextNodeiSex=1;elseTreeNextNode

10、iSex=0;第五章 调试分析1。进入系统2。建立家谱3。查看信息4。添加成员5。修改信息第六章 测试结果父亲姓名 田迎新 母亲姓名 陈瑞英 姐姐 田紫藤 姐夫 孙超 本人 田紫恒 李美霖致谢感谢孙红艳老师辛苦教导与教诲,让我学到了很多知识,提高了很大的能力。与此同时,也感谢老师为我辛苦验收课设,耐心讲解,让我也受益匪浅. 今后,我一定会努力学习,用我的实际行动来回报家长,感谢我的老师,为学校争光,努力为我们的国家,贡献出一份微薄的贡献!参考文献1数据结构+语言版严蔚敏吴伟民编著 清华大学出版社 20112数据库数据结构软件工程课程设计指导及习题解答徐志才方贤文刘士喜编 北京师范大学出版社 2

11、0113C+语言程序设计 何钦铭 颜晖 主编 高等教育出版社2008附录#include iostream。hinclude #include stdio。h /getchar 可以将键入的信息存到缓冲区,按Enter键将进行输入include stdlib。h /system的头文件,exit的头文件#include int MATEFLAG=0;typedef struct TreeNodeint Num; /记录这个人拥有几个儿女char Name20; /记录这个人的姓名char Sex; /标示节点的种类有女(0) 男(1)struct TreeNode NextNode20; /记

12、录这个人的儿女struct TreeNode Parent; /记录这个节点的父节点TreeNode;void CreatTree(TreeNode Tree);/-创建树void OutPutAll(TreeNode Tree);/-遍历并输出树中的内容void firstoftxt();/-写入文件的开始信息void ofAll(TreeNode *Tree);/-写入文件函数void ifAll();/-读取文件的函数TreeNode SearchTree(TreeNode *Tree,char name,int length);/查找结点的函数void MainMenue(TreeNo

13、de Tree);/-主菜单void SubMenue1(TreeNode Tree);/-修改成员信息的菜单void SubMenue2(TreeNode Tree);/-添加新成员菜单void Change(TreeNode Tree);/-修改成员信息void AddNew(TreeNode Tree);/-添加新成员void OutPutMessage(TreeNode Tree,char name,int length);/输出已经查找到的人的信息/主函数void main()TreeNode Tree;Tree=new TreeNode;TreeParent =NULL;strcp

14、y(TreeName,”0”); MainMenue(Tree);/添加新的成员void AddNew(TreeNode Tree)SubMenue2(Tree);/输出副菜单void SubMenue2(TreeNode Tree) char c;int num;char name20;TreeNode * NewNode;while(1)system(”cls”);coutt”; cout”nnt -*-请选择你的操作-*- ;coutnt-1:添加某个人的子女的信息- ”;coutnt-*-*-*-2:添加某个人配偶的信息-*-*- ”;coutnt-*-3:退出-*-*-nt;cout

15、name;Tree=SearchTree(Tree,name,20);if(Tree=NULL)coutParent=NULLTree-NextNode0=NULL|Tree-Parent!=NULL&Tree-Name!=Tree-ParentNextNode0Name) cout”nntParent=NULL(TreeNum20Tree-NumParent; NewNode=new TreeNode; coutNewNodeName;coutNewNode-Sex;num=Tree-Num;NewNodeNextNode0=new TreeNode;NewNodeNextNode0=NUL

16、L;NewNodeNum=0;NewNodeParent=Tree;TreeNextNodenum+1=NewNode;Tree-Num=Tree-Num+1;coutnnt-子女的信息添加成功-”;break;case 2:coutname;Tree=SearchTree(Tree,name,20);if(TreeParent!=NULLstrcmp(Tree-Name,Tree-Parent-NextNode0Name)=0|TreeNextNode0!=NULL)cout”nnt已经有了配偶;break;if(Tree=NULL)coutnnt*该家谱图中没有 ”name 这个人的信息,

17、请确认是否输入错误*n”;break;NewNode=new TreeNode;coutNewNode-Sex;NewNode-Parent=Tree;Tree-NextNode0=NewNode;break;case 3:cout”nnt-本项服务到此结束-”;break;case n:break;default:coutnnt-对不起!你的选择不在服务范围之内!- ;cout”nt-请您再次选择所需的服务项!- ;cout”nt-谢谢合作!-nt”;break;if (c=3)break;/修改某个人的信息void Change(TreeNode Tree) char name20;Tre

18、eNode NewNode;coutname; NewNode=SearchTree(Tree,name,20);if(NewNode=NULL) cout”nnt*该家谱图中没有 ”name 这个人的信息,请确认是否输入错误*n”;return;else SubMenue1(NewNode);/输出副菜单void SubMenue1(TreeNode * Tree)char c;int flag,i;char name20;char Parent220;TreeNode NewNode;while(1)system(cls);cout”t”; cout”nnt *-请选择你的操作* ”;co

19、utnt*-*-1:修改个人的信息-*- ”;cout”nt-*-2:修改父母的信息-*-*-*- ;coutnt-*-3:修改兄弟姐妹的信息-*-*- ;cout”nt-*-4:修改子女的信息-*-*-*- ”;coutc;switch(c)case 1:coutname;if(strcmp(name,”0”)!=0)strcpy(TreeName,name);coutSex=1;else TreeSex=0;cout”nnt个人信息修改成功!;coutParent=NULL)/判断是不是头节点coutnt是这个家谱图里最顶端的人没有父母信息!endl;coutn-按Enter键继续操作。

20、.。”Sex=0) cout”nnt她是嫁入此间的所以父母信息不在家谱内包括!”;cout”n-按Enter键继续操作。.。 。.。”endl; getchar(); else cout”nnt他是入赘此间的所以父母信息不在家谱内包括!;cout”n-按Enter键继续操作。.。 。.Sex=0) strcpy(Parent0,母亲); strcpy(Parent1,父亲”); else strcpy(Parent0,”父亲”); strcpy(Parent1,母亲”); coutnnt请输入 Parent0name; if(strcmp(name,0”)!=0) strcpy(TreePar

21、entName,name); cout”nnt请输入 ”Parent1Parent-NextNode0-Name,name); cout”nnt-父母的信息修改成功-endl;cout”n-按Enter键继续操作。.。 。”endl;getchar(); break; case 3: NewNode=Tree-Parent; if(NewNode=NULL) /判断是不是头节点 coutnt是这个家谱图里最顶端的人没有兄弟姐妹信息!”endl;cout”n-按Enter键继续操作.。. .。.”endl; getchar(); break; if (MATEFLAG=1) /判断是不是入赘或加

22、入此间的 if(TreeSex=0) cout”nnt她是嫁入此间的所以兄弟姐妹信息不在家谱内包括!”;coutn-按Enter键继续操作. 。endl; getchar(); elsecout”nnt他是入赘此间的所以兄弟姐妹信息不在家谱内包括!;cout”n-按Enter键继续操作。 。.”endl; getchar(); break; if(NewNodeNum=1) cout”nnt没有兄弟姐妹!;cout”n-按Enter键继续操作。. .。”endl; getchar(); break; else for(i=1;iName) coutnnt请输入 ”name; if(strcmp

23、(name,”0”)!=0) strcpy(NewNode-NextNodeiName,name); cout”nnt是否要修改性别(如果需要就输入1不需要修改就输入0然后按Enter键继续):n”; cinflag; if (flag=1) if(NewNodeNextNodeiSex=0) NewNode-NextNodeiSex=1; else NewNode-NextNodei-Sex=0;coutnnt-兄弟姐妹的信息修改成功-endl;coutn-按Enter键继续操作。 .。”endl;getchar();break;case 4:if(TreeNum=0) cout”nnt至今

24、还没有子女!”;coutName,TreeParentNextNode0Name)=0) /如果他是入赘或者是嫁入的就需用配偶节点完成修改 Tree=TreeParent;for(i=1;i=Tree-Num;i+)cout”nnt请输入 ”NextNodeiName” 修改的姓名(如果不需要修改就输入0,然后按Enter键继续):n”; cinname; if(strcmp(name,0”)!=0)strcpy(TreeNextNodeiName,name);coutflag; if (flag=1) if(TreeNextNodeiSex=0) Tree-NextNodei-Sex=1; elseTree-NextNodeiSex=0;cout”nnt-子女的信息修改成功-endl;coutParent!=NULL)if (TreeNextNode0=NULL&strcmp(Tree-Name,Tree-ParentNextNode0Name)!=0)cout”nnt至今还没有配偶!;cout”n-按Enter键继续操作。 。.。”ParentNextNode0-Name)=0)coutnnt请输入 TreeParentName 修改的姓名(如果不需要修改就输入0,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服