- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目名称: 家谱系统的设计与实现
学生姓名:
学 号:
班 级:
指导教师:
2011年12月23日
目 录
1系统需求分析 1
1.1 问题分析 1
1.2 任务意义 1
2 设数据结构设计及用法说明 2
3 详细设计和编码 3
3.1初始化 3
3.2功能选择 4
3.3信息输入 7
3.4信息输出 7
3.5信息存盘 8
3.6信息清盘 9
3.7信息查询 10
4 实验结果 13
4.1菜单函数功能测试 13
4.2输入功能函数测试 13
4.3输出功能函数测试 13
4.4清盘功能函数测试 13
4.5存盘功能函数测试 14
4.6查询功能函数测试 15
致谢 17
参考文献 18
附录:源代码 19
1系统需求分析
1.1 问题分析
从课程设计的题目要求可以知道,我需要设计一个对数据输入,输出,储存,查找的多功能软件,我选择用二叉树来保存家族的基本信息,包括姓名及它们的关系,但是由于家族信息很巨大而且关系很复杂所以采用二叉树来储存它们的信息及输出它们的关系。并且具有保存文件的功能,以便下次直接使用先前存入的信息。
1.2 任务意义
家谱的功能是查询家族每个人的信息,并且输出它们的信息,还要具有查询输出功能。这样复习了一下查询。插入。删除函数的应用。并复习了上学期c语言的文件储存及调用功能,子函数和递归调用功能,熟练运用这些函数。
2系统数据结构设计及用法说明
采用文件保存信息,并且从文件中输出原先保存的信息,用结构体fnode来储存家族的信息,采用递归的方法从fam中创建一个空二叉树,然后初始化二叉树。采用InputFam函数添加信息,OutputFam函数输出信息,DelAll函数删除家族的全部记录,SaveFile函数保存添加的信息,FindNode函数查找节点。
图2 数据存储结构图
相应的存储结构代码为:
typedef struct fnode
{
char father[NAMEWIDTH];
char wife[NAMEWIDTH];
char son[NAMEWIDTH];
char brother[NAMEWIDTH];
}FamType;
typedef struct tnode
{
char name[NAMEWIDTH];
struct tnode *lchild,*rchild;
}BTree;
3 详细设计和编码
3.1初始化
图3-1为初始化函数的流程图,主要是对二叉树中数据域置空,对二叉树中的数据进行初始化。
代码如下:
BTree *CreatBTree(char *root,FamType fam[],int n) //从fam中(含n个记录)递归创建一棵二叉树
{
int i=0,j;
BTree *bt,*p;
bt=(BTree *)malloc(sizeof(BTree)); //创建父亲结点
strcpy(bt-name,root);
bt-lchild=bt-rchild=NULL;
while(instrcmp(fam[i].father,root)!=0)
i++;
if(in) //找到该姓名的记录
{
p=(BTree *)malloc(sizeof(BTree)); //创建母亲结点
p-lchild=p-rchild=NULL;
strcpy(p-name,fam[i].wife);
bt-lchild=p;
for(j=0;jn;j++) //找所有儿子
if(strcmp(fam[j].father,root)==0) //找到一个儿子
{
p-rchild=CreatBTree(fam[j].son,fam,n);
p=p-rchild;
}
}
return(bt);
}
图3-1 初始化函数流程图
3.2功能选择
图3-2为功能选择模块函数的流程图,主要提供1:文件 2:家谱 两个功能模块让用户选择。输入数字1的时候,出现界面1:输入 2:输出 9:清盘 0:存盘返回。返回后输入数字2,出现界面1:找某人的所有儿子 2:找某人所有祖先 3:找某人所有兄弟。用户根据提示操作。
代码如下:
void main()
{
BTree *bt;
BTree *p,*father;
FamType fam[MaxSize];
int n,sel,sell;
char xm[NAMEWIDTH];
ReadFil
您可能关注的文档
- 工程测量实习个人报告.doc
- 工程管理外文翻译---国际建设工程风险分析.doc
- 工程机械毕业实习报告 6.doc
- 工程机械毕业实习报告7.doc
- 工程机械毕业实习报告9.doc
- 工程监理毕业论文----建设工程监理组织协调工作研究.doc
- 工程机械有限公司毕业实习报告.doc
- 工程监理毕业论文---绿色建筑和我国人居环境的可持续发展.doc
- 工程监理专业论文.doc
- 工程监理实习报告3.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 基于FPGA的函数信号发生器设计.doc
- 大汉控股集团有限公司制度汇编.doc
- 阿布扎比国际石油展参展总结.pdf
- 表羽扇豆碱及其衍生物在制备抗阿尔茨海默病的药物中的应用.pdf VIP
- (必威体育精装版)100MW光伏发电项目投资估算.pdf
- 废旧锂电池综合回收利用项目环评可研资料环境影响.docx VIP
- 再生资源科技有限公司锂电池综合回收项目环评可研资料环境影响.docx VIP
- 2014人教版小学数学四年级上册期末测试卷 答题卡(01) .doc VIP
- TMTPicA2-SMU-V200(CN)Rev6中文版说明书.pdf
- 内蒙古电力(集团)有限责任公司输变电工程安全文明施工标准化管理办法.doc
文档评论(0)