- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
..
PAGE
资料
课程设计报告
课程名称 《数据结构》
课题名称 排序综合
专 业
班 级
学 号
姓 名
联系方式
指导教师
20 11 年 12 月 21 日
目 录
1. 问题陈述…………………………………………………………………………3
2.设计方法阐述………………………………………………………………………3
2.1总体规划……………………………………………………………………3
2.2功能构想……………………………………………………………………4
2.2.1增加成员………………………………………………………………4
2.2.2修改成员资料……………………………………………………………5
2.2.3删除成员………………………………………………………………6
2.2.4打开家谱…………………………………………………………………7
2.2.5新建家谱…………………………………………………………………8
2.2.6保存家谱…………………………………………………………………10
2.2.7查看某代信息……………………………………………………………11
2.2.8按姓名查找………………………………………………………………12
2.2.9按生日查找………………………………………………………………12
2.2.10查看成员关系…………………………………………………………13
2.2.11按出生日期排序………………………………………………………14
2.3板块整合………………………………………………………………………15
2.4调试分析………………………………………………………………………19
3.总结……………………………………………………………………………19
4. 测试结果…………………………………………………………………………20
1.问题陈述
家谱用于记录某家族历代家族成员的情况与关系。现编制一个家谱资料管理软件,实现对一个家族所有的资料进行收集整理。支持对家谱的存储、更新、查询、统计等操作。并用计算机永久储存家族数据,方便随时调用。
2.设计方法阐述
2.1总体规划
在动手编制程序之前,先要做好程序的规划,包括程序储存数据所用的结构,数据类型等等,只有确定了数据类型和数据结构,才能在此基础上进行各种算法的设计和程序的编写。
首先是考虑数据类型。在家谱中,家族成员是最基本的组成部分,对于家族管理中,已经不能再进行细分了,所以选定家族成员作为数据的基本类型,并在程序中定义COperationFamilytree 类。其中COperationFamilytree 类的各种属性可以根据需要进行添加或删除,从日常生活应用的角度出发,制定了COperationFamilytree 类中包含了一下属性:
char name[MAX_CHARNUM]; //姓名
Date birthday; //出生日期
In tsex; //性别
char addr[MAX_CHARNUM]; //基本资料
int live; //健在否
Date deathday; //死亡日期
int ChildNums(Person pNode) ; //返回pNode孩子数
intInSiblingPos(Person pNode); //返回pNode在其兄弟中的排行
为方便计算机进行比较,在familytree类的某些属性中用数字代替了某些不会改变的字符串,譬如性别(1代表男,0代表女)、判断是否健在(1为是,0为否)。在设置日期上,为方便以后的计算与比较,也将日期用整型数字表示1999年5月5日,这种表示方法只需在输入和输出上作少许的运算便可方便地与日期进行转换。在家族关系的表示上,并没有用相关家属的姓名作为储存数据,而仅仅是存储了各关系亲属的ID,方便日后作为指针指示调用相对应的家族成员。其中在属性pNode上,其表示的是下一个同父母的弟或妹ID,也就是说,当某家族成员有若干个子女,其pNode仅指向第一个孩子,其余的孩子如何表示呢?可以通过第一个孩子的pNode指示,如此类推,直到孩子的pNode =0为止。这样就可以避免需在程序设计时预定父母可以拥有的孩子数,有多少孩子就表示多少,实现了动态的储存数据。
在选择数据结构方面,从直观来说,选择
您可能关注的文档
最近下载
- 绿色工厂培训课件.pptx VIP
- 8+新能源项目预收购(转让)协议.docx VIP
- SL∕T 617-2021 水利水电工程项目建议书编制规程.pdf
- 2025年高考化学河北卷及答案(新课标卷).docx VIP
- 天津《温拌沥青混合料超薄罩面技术规程》DBT 29-210-2022.pdf
- 2010年考研英语二真题答案及解析.pdf VIP
- 2024浙江嘉兴市海盐县交通投资集团有限公司第二轮招聘12人笔试模拟试题及答案解析.docx VIP
- 消毒剂消毒效果及储存效期验证方案.docx VIP
- 电工仪表及测量第一章 测量与电工仪表的基本知识.ppt VIP
- 浙江省计算机二级办公软件高级应用技术真题.doc VIP
文档评论(0)