蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

家谱管理系统

  • 资源ID:53197508       资源大小:411.50KB        全文页数:27页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:30积分 【人民币30元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要30积分 【人民币30元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

家谱管理系统

洛 阳 理 工 学 院 课 程 设 计 报 告 数据结构课程设计 课程名称 ___________________________________ 家谱管理系统 设计题目 ___________________________________ 计算机科学与技术 专 业 ___________________________________ B150405 班 级 ___________________________________ B15080822 学 号 ___________________________________ 宋士龙 姓 名 ___________________________________ 2016年12月30日 完成日期 ___________________________________ 课 程 设 计 任 务 书 设计题目家谱管理系统 设计内容与要求 【问题描述】实现具有下列功能的家谱管理系统 1. 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容 姓名、诞生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。 2. 实现数据的存盘和读盘。 3. 显示家谱。 4. 依据诞生日期查询成员名单。 5. 依据姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 6. 修改某成员信息。 【基本要求】 界面要求有合理的提示,每个功能可以设立菜单,依据提示,可以完成相关的功能要求。 存储结构学生自己依据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。 测试数据要求运用1、全部合法数据;2、局部非法数据。进行程序测试,以保证程序的稳定。 测试数据及测试结果请在上交的资料中写明。 指导老师_______________ 年 月 日 课 程 设 计 评 语 成果 指导老师_______________ 年 月 日 洛 阳 理 工 学 院 课 程 设 计 报 告 一、 算法思想 本程序是一个管理家谱的系统,通过这个系统可以对家族成员进行创建、显示、查找 、修改、以及保存家谱和读取家谱功能。该系统分为以下几个模块,分别是创建家谱,显示家谱、按姓名和生日查找家庭成员、修改家谱、存盘、读盘以及退出系统。本程序用到的存储形式为多叉树,因为家谱中每个人既有父母又有孩子,而且孩子的个数并不确定,所以用多叉树来存储最为合适。用多叉树来存储,就用用到多叉树的递归创建及递归遍历。因为是多叉树,所以遍历时用广度优先搜寻合适。本函数最主要的思想就是递归调用,每个子函数中都会用到递归。定义结构体时给定指针数组的最大容量,来规定家谱中最多可以存多少人。定义一个家族树的指针变量用来当每个子函数的参数,从而将其返回到主函数中。 以下时算法思想流程图 家谱管理系统 创建家谱 显示家谱 修改家谱 查找成员 读写家谱 依据姓名 依据生日 修改本人 修改父母 修改孩子 存盘 读盘 退出系统 二、 模块划分 1. int main主函数 2. void CreatTreeTreeNode *Tree创建家族树 3. void OutPutAllTreeNode *Tree显示家谱 4. void MenueTreeNode *Tree主菜单 5. void SubMenue1TreeNode * Tree副菜单(修改选项菜单) 6. void ChangeTreeNode * Tree修改家谱 7. TreeNode * SearchTreeTreeNode *Tree,char name[],int length依据姓名查找家谱成员 8. TreeNode * SearchTree1TreeNode *Tree,char birth[],int length依据生日查找家谱成员 9. void OutPutMessageTreeNode * Tree,char name[],int length输出按姓名查找到的家谱成员 10. void OutPutMessage1TreeNode * Tree,char birth[],int length输出按生日查找到的家谱成员 11. void SaveFamilyTreeNode *root保存家谱 12. void ReadFamilyTreeNode **root读取家谱 三、 数据结构 typedef struct TreeNode { int ChildNum; //记录这个人拥有几个儿女 char Name[20];//记录这个人的姓名 char birthday[20];//生日 int marriage;//婚否(1表示结婚,0表示没结婚) int death;//生死(1表示活着,0表示过世) char Kind;//标示节点的种类有女G男B char address[100];//住址 char livemassage[50];//死亡日期(假如其已经死亡) struct TreeNode *NextNode[20]; //记录这个人的儿女 struct TreeNode *Parent; //记录这个节点的父节点 }TreeNode,*tree; 四、 测试 第一组数据为 爷爷,奶奶,爸爸,妈妈,我,二叔,二婶,姐姐,三叔,三婶,弟弟一共三代11个人。 其中爷爷是根节点,奶奶为爷爷的配偶,同时也是爷爷的第一个后继节点。爸爸,二叔,三叔为爷爷的子女。爸爸的配偶是妈妈,爸爸的子女是我。二叔的配偶是二婶,子女是姐姐。三叔的的配偶是三婶,三叔的的子女是弟弟。 进入程序之后,首先进行创建家谱,然后进行存盘,之后进行修改和查询等步骤。退出程序在进入程序时,进行读盘。之后在进行其他操作,程序完成之后退出即可。 爷爷 爸爸 二叔 奶奶 三叔 妈妈 二婶 三婶 我 姐姐 弟弟 图1 家族树 第一组数据测试截图为 图2 显示家谱 图3 依据姓名查找家族成员 图4 存盘 其次组数据为 王老 王大 刘老 王二 李大 张二 王小一 王小二 图4 王家家族树 其次组数据测试截屏为

注意事项

本文(家谱管理系统)为本站会员(lbdd)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开