人类族谱管理系统设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院
综合训练项目报告书
课程名称数据结构
项目名称人类家谱管理系统
专业班级软件13-3班
组别第五组
成员张伟竹王雨柔何惠民任课教师孙宁
目录
1.设计时间 (1)
2.设计任务 (1)
3.设计内容 (1)
3.1问题分析 (1)
3.2 程序设计 (3)
3.3测试与分析 (10)
3.3.1测试 (10)
3.3.2分析 (14)
3.4代码 (14)
4.总结与展望 (21)
5.参考文献 (22)
时,系统提示信息有误,要求重新输入所要添加、查找或修改人的信息。
图3-1 功能模块图
图3-2 存储结构图
2.主程序的流程图及函数的调用关系图。
(1)主函数流程图,见图3-3。
图3-3 主函数流程图
图3-4 创建函数流程图(3)查找函数流程图,见图3-5。
图3-5 查找函数流程图
图3-6 添加函数流程图
图3-7 修改函数流程图(6)函数关系调用图,见图3-8。
图3-8 函数关系调用图
}
input r,c
0=>i
while(i { r[i]=>r->[i] i+1=>i } c=>n->l.sex print “家谱成员信息修改成功!” end 3.3测试与分析 3.3.1测试 1. 开始 进入菜单选择界面 2. 运行过程 (1)当输入信息正确时 初始化(创建)一个家谱 添加家族成员 查找家族成员信息 修改家族成员信息 查找修改的成员信息 (2)当输入错误信息时,系统做出提示,请求重新输入成员信息 添加输入错误信息时 查找输入错误信息时 修改输入错误信息时 查找修改人原名,系统提示不存在3. 结束 退出系统 3.3.2分析 从算法的设计、效率以及实用性上来说:总的来讲,设计不是很严谨,实际生活中的人类家族族谱是有配偶信息的,而且个人信息中不仅包含姓名、性别、双亲、子女,还应该有出生日期、死亡日期、籍贯等信息的。但是在本程序中,大部分信息没有记录族谱中,这是本设计的缺陷所在,故实用性并不高。但是,本设计也有其优点所在,就是有错误信息提示,不论是在添加成员信息,还是查找、修改成员信息时,当输入姓名不存在时,系统会给出错误信息提示,要求重新输入此人姓名。另外,本程序设计了指针搜索函数,便于搜索孩子和双亲信息 从改进设想上:本程序设计的设计思想是很简单的,为了能够将家族成员信息记录全面,在存放个人信息的结构体中添加一部分信息,比如此人的出生日期、死亡日期、籍贯等,在存放各代人信息时,添加一个结构体类型的变量,用于存放配偶的信息,以便实现对此人配偶信息的存储,提高实用性。 3.4 代码 #include #include #include #include #define MAX 10 typedef struct node//定义data存储结构,存放个人信息 { char name[MAX]; //姓名 char sex;//性别 int generation;//代 }node;