课程设计方案报告格式

发布 2022-10-02 18:40:28 阅读 1773

洛阳理工学院。

课程设计说明书。

课程名称数据结构。

设计课题家谱管理系统。

专业计算机科学与技术。

班级 b110503

学号 b11050311

姓名欧阳斌。

完成日期 2023年6月11日。

问题描述】设计一个家庭族谱系统,使其满足以下条件:

1). 输入文件以存放最初家谱中各成员的信息。 成员的信息中均应包含以下内容:

姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)也可附加其它信息、但不是必需的。

2). 实现数据的存盘和读盘。

3). 以图形方式显示家谱。

4). 显示第n 代所有人的信息。

5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。

6). 按照出生日期查询成员名单。

7). 输入两人姓名,确定其关系。

8). 某成员添加孩子。

9). 删除某成员(若其还有后代,则一并删除)。

10).修改某成员信息。

11).按出生日期对家谱中所有人排序。

12).打开一家谱时,提示当天生日的健在成员。

基本要求】建立至少30个成员的数据,以直观的方式显示结果,并提供文稿形式以便检查。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:

学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。测试数据:要求使用1、全部合法数据;2、局部非法数据。

进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

测试数据】算法思想】

抽象数据类型兄弟孩子树的定义如下:

adt csnode

基本操作:csnode *creattree(fstream &outfile);

初始条件:已经打开了文本文件。

操作结果:创建一个兄弟孩子树t,并把从文件中的数据送到树中,关闭文件。

void creatparent_step(csnode *parent);

初始条件:兄弟孩子树t已经存在。

操作结果:对所有的孩子节点添加指向父亲的指针。

void inordertr**erse(csnode *t);

初始条件:兄弟孩子树t已经存在。

操作结果:对t进行中序遍历。

bool today_brithday(csnode *t);

初始条件:兄弟孩子树t已经存在。

操作结果:根据计算机系统的时间判断几天是否有人过生日,并显示他们的名字。

bool (int n,csnode *t,linkqueue &q);

初始条件:兄弟孩子树t已经存在,队列q也已经存在。

操作结果:用队列q返回第n代人的所有信息。

void link_info(linkqueue q);

初始条件:队列q中是第n代人的所有信息。

操作结果:显示队列中所有人的信息。

csnode *detectmember_name(csnode *t,char name)

初始条件:兄弟孩子树t已经存在。

操作结果:根据输入的姓名进行查找,如找到则返回该节点的指针。

csnode *detectmember_borndate(csnode *t,date date);

初始条件:兄弟孩子树t已经存在。

操作结果:根据输入的出生日期进行查找,如找到则返回该节点的指针。

void outputoneinfo(csnode *t);

初始条件:采集到一个节点t

操作结果:显示这一个节点的所有信息。

void output_name_relation(csnode *t);

初始条件:采集到一个节点t

操作结果:显示这一个节点的父亲和孩子的所有信息。

void delete_member(csnode *t,char name)

初始条件:兄弟孩子树t已经存在。

操作结果:根据输入的姓名进行查找,如找到则删除该节点和他所有的孩子节点。

void edit_member_info(csnode *t,char name)

初始条件:兄弟孩子树t已经存在。

操作结果:根据输入的姓名进行查找,如找到则根据用户要求修改相应的信息。

bool add_new_child(csnode *t);

初始条件:兄弟孩子树t已经存在。

操作结果:根据输入的姓名进行查找,如找到则在他的孩子树中添加新的孩子节点。

void inorderinfile(csnode *t,fstream &infile);

初始条件:兄弟孩子树t已经存在,且已经打开了文本文件。

操作结果:把现在的数据读入文件中,关闭文件。

bool generation(csnode *t,csnode *child);

初始条件:兄弟孩子树t已经存在。

操作结果:判断child是否是t的后代,如果是返回true,否则返回false。

void output_two_member_realtionship(csnode *t,char name1,char name2)

初始条件:兄弟孩子树t已经存在。

操作结果:根据已经输入的两个姓名进行查找和判断,确定他们的关系。

void inorderin(csnode *t,csnode s,int &num);

初始条件:兄弟孩子树t已经存在。

操作结果:对t进行中序遍历,并且把每一个节点信息送到数组s中,num为s中成员个数。

void linechars(csnode s,int num);

初始条件:节点数组s已经存在。

操作结果:对数组的节点信息按照出生日期进行排序,采用的是基数排序。

adt csnode

抽象数据类型队列的定义如下:

adt linkqueue

数据关系:r1=

MATLAB课程设计方案报告

2009年 5月 31日。基于matlab的语音信号采集与处理。一 实践的目的和要求。1.matlab软件功能简介。matlab的名称源自matrix laboratory,1984年由美国mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。matlab将高性能的数值计算...

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...