当前位置:文档之家› 课程设计说明书 13数据结构-鲍新华

课程设计说明书 13数据结构-鲍新华

课程设计说明书 13数据结构-鲍新华
课程设计说明书 13数据结构-鲍新华

X X 学院

课程设计说明书

题目数据结构与算法课程设计系(部) 数学与计算机科学系

专业(班级) 软件工程

姓名

学号

指导教师

起止日期2014.12.8-2014.12.17

课程设计任务书

课程名称:数据结构与算法课程设计

设计题目:迷宫问题

已知技术参数和设计要求:

问题描述:

以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。迷宫问题要求求出从入口(1,1)到出口(m,n)的一条通路,或得出没有通路的结论。

基本要求:

首先实现一个以链表作存储结构的栈类型,然后编写一个求迷宫问题的非递归程序,求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d 表示走到下一坐标的方向。

测试数据:

迷宫用伪随机数产生程序产生。

左上角(1,1)为入口,右下角(m,n)为出口。

选作内容:

1编写递归形式的算法,求得迷宫中的所有可能的通路

2以方阵的形式输出迷宫及其通路迷宫中的所有可能的通路

各阶段具体要求:

1、需求分析阶段

●定义目标系统的问题描述

●定义目标系统的功能需求

●定义目标系统的测试需求

2、设计阶段

●定义目标系统的输入、输出项

●定义目标系统的算法流程

3、编码阶段

●要求遵守常见的编码规范,包括变量命名规则

●要求给出一定的注释

4、测试阶段

●要求定义测试用例

●要求补充测试用例内容。

设计工作量:

(1)软件设计:完成问题陈述中所提到的所有需求功能。

(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。

工作计划:

安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;

1) 选定题目

2) 需求分析

3) 结构设计

4) 编码实现

5) 测试

6) 撰写课程设计说明书并答辩

注意事项

?提交文档

长沙学院课程设计任务书(每学生1份)

长沙学院课程设计论文(每学生1份)

长沙学院课程设计鉴定表(每学生1份)

指导教师签名:日期:

教研室主任签名:日期:

系主任签名:日期:

长沙学院课程设计鉴定表

目录

1、需求分析阶段 (2)

2、设计阶段 (2)

3、编码阶段 (2)

一、引言 (6)

1.1编写目的 (6)

1.2参考资料 (6)

二、需求规约 (6)

2.1业务描述 (6)

2.2需求分析 (6)

三、设计 (7)

3.1概要设计 (7)

3.2详细设计 (7)

3.3找路的流程图 (9)

四、编码测试 (10)

五、总结 (12)

一、引言

1.1 编写目的

本文档是“迷宫问题”课程设计的组成部分,编写此文档的目的是:确定本程序的存储结构类型,用来作为后期程序改进的参照。本文档的读者对象是:需求人员、程序设计员,测试人员。

1.2 参考资料

二、需求规约

2.1 业务描述

在一个已知在一个m*n的迷宫中,要求从(1,1)进入,从(m,n)出来,输出一条通路,或者得出没有同路的结论。

2.2 需求分析

手动或自动生成一个M*N的矩阵,针对这个矩阵,程序判断是否能从起点经过迷宫走到终点。若能到达终点,输出路径上的各个结点,若不能到达,则输出失败标志;要实现这个程序,首先要考虑如何表示这个迷宫。在示例程序中使用二维数组mg [M+1][N+1]来表示这个迷宫,其中M为迷宫的行,N为列数。用maze[M+1][N+1]来表示迷宫,而不是使用mg[M][N]来表示迷宫式防止当遍历到迷宫边界是可能跳出迷宫,而是用mg[M+1][M+1]就可以把迷宫的外面加一层“墙”即“1”。

程序所能达到的功能:判断输入的矩阵是否有路径由起点到终点,若有路径输出具体路径,若无则输出失败标志;

三、 设计

3.1概要设计

为了使程序简洁,便于阅读,本程序采用建工程分模块的方法编写,共分为5个模块。分别是main.c 、zhan.c 、zhan.h 、map.c 、map.h 。

Zhan.c 、zhan.h 中分别存储栈中所用到的函数,栈的类型和节点类型。 Map.c 、map.h 用来建立迷宫。

整个程序多用全局变量方便函数之间的调用。

3.2详细设计

在求解时,使用穷举法,从入口出发,顺某一方向向前试探,若能走通,继续往前走,否则沿原路返回,换一个方向继续试探,知道走完所有的可能。为了保证在任何路上都能原路返回,需要用到一个后进先出的栈来保存从入口到当前路径。

对于迷宫中的每一个方块,他都有上下左右四个方块,如图所示;第i 行j 列的当前方块记为(i,j ),并规定上方块为方位0,顺时针方向递增编号。在试探过程中,假设从方位0到方位3的方向查找下一可走方块。

求解迷宫(xi,yi)到(xe,ye)的过程是: 先将入口进站(起初是方位设置为-1)。 在栈不空时循环——取栈顶方块(不退栈), 若该方块是出口,则输出栈中所有方块即为 路径;否则,找下一相邻可走方块,若不存 在这样的方块,说明当前路径不能走通,则

回溯,也就是恢复当前方块为0后退栈。若存在这样的方块,则将其方为保存在栈顶元素中,并将该可走的相邻方块进栈(其起初是方位设置为-1)。

求迷宫路径的回溯过程如图3-2:

(i, j ) 方位1 (i, j+1) 方位3

(i, j-1)

方位1

(i-1, j )

方位2

(i+, j )

图3-1

3.3存储结构示意图

3.4 找路的流程图

四、编码测试

链栈的类型和结点类型说明如下:

为了保证试探的可走相邻方块不是一走路径上的方块,如(i,j)已进栈,在试探(i+1,j)的下一个可走方块时,又试探到(i,j),这样可能会引起死循环,为此,在一个方块进栈后,将对应的数组元素值改为-1(变为不可走相邻方块),当退栈时(表示该站定方块没有可走相邻方块),将其恢复为0.

对应算法如下下:

int mgpath(int xi,int yi,int xe,int ye)

{

int i=1,j=1,k,di,find;

int top=-1;

top++; //初始方块即入口进栈

st[top].i=xi;

st[top].j=yi;

st[top].di=-1;

mg[1][1]=-1;

while (top>-1)

{

i=st[top].i;

j=st[top].j; //取栈顶方块

di=st[top].di;

if(i==xe && j==ye)

{

printf("迷宫路径如下:\n");

for(k=0;k<=top;k++)

{

printf("\t(%d,%d)",st[k].i,st[k].j);

if((k+1)%5==0)

printf("\n");

}

printf("\n");

return 0;

}

find=0;

while(di<4 && find==0)

{

di++;

switch(di)

{

case 0:i=st[top].i-1;

j=st[top].j;

break;

case 1:i=st[top].i;

j=st[top].j+1;

break;

case 2:i=st[top].i+1;

j=st[top].j;

break;

case 3:i=st[top].i;

j=st[top].j-1;

break;

}

if(mg[i][j]==0)

{

find=1;

}

}

if(find==1) //找到一个可走的相邻方块

{

st[top].di=di; //修改原栈顶元素di值

top++; //将可走的相邻方块进栈

st[top].i=i;

st[top].j=j;

st[top].di=-1;

mg[i][j]=-1; //避免重复走到该方块,将其置为-1 }

else //没有相邻方块可走,退栈

{

//system("PAUSE");

mg[st[top].i][st[top].j]=0; //让该位置变为其他路径可走方块

top--;

}

}

printf("你死定了,此迷宫无解!\n");

return(0); //表示没有可走路径,返回0

}

运行结果如下图:

五、总结

由于以前的知识学习的不算扎实,所以该课程设计对于我来说还是很有难度的。在编写程序的时候,经常要去看教科书,或者向同学请教。程序写好之后,花了4个小时注释,悲剧的是运行之后,出现了N多错误,只好又逐字逐句的检查,实在找不出来就只能自己慢慢调试。就这样磕磕绊绊弄了5天程序代码以及流程图才勉强完成。

总的来说,这次设计报告很不顺利,归根结底还是基础没学好。虽然结果不尽人意,但是收获还是有的,这次设计报告,加强了自身对语句的组织与对程序的运用,

发现了自身许多不足之处。这次是一次教训,希望好事多磨吧。

数据库课程设计任务书

计算机科学与技术专业《数据库综合实践》任务书撰写人:徐燕萍徐森审定人:徐秀芳

数据库综合实践任务书 一、课程设计目的及基本要求 数据库综合实践是为数据库原理及应用等系列课程而独立开设的实践性课程。数据库综合实践对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程分为系统分析与数据库设计、应用程序设计和系统集成调试三个阶段进行。 数据库综合实践的主要目标是: a)加深对数据库系统、程序设计语言的理论知识的理解和应用水平。 b)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。 二、课程设计的主要内容 A)系统分析与数据库设计阶段 1) 通过社会调查,选择一个实际应用数据库系统的课题。 2)进行系统需求分析和系统设计,写出系统分析和设计报告。 3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。 B)应用程序设计阶段 1)完成数据库定义工作,实现系统数据的数据处理和数据录入。 2)实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性和并发控制技术等功能,并针对具体课题问题提出解决方法。 C)系统集成调试阶段 对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。

三、课程设计任务 1、图书管理系统 背景资料: 1)图书室有各种图书一万多册。 2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容简介。 3)借书证记录有借阅者的姓名、所在单位、职业等。 4)凭借书证借书,每次最多能借8本书。借书期限最长为30天。 设计要求: 1)进行需求分析,编写数据字典。 2)设计E-R图。 3)实现新进图书的数据录入。 4)实现对所有购进图书的分类查询和分类统计。 5)能够按书名、作者等分类查询现有图书的数量。 6)记录借阅者的个人资料和所借图书的书名、书号数据等。 2、工资管理系统 背景资料: 1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。 2)该单位下设4个科室,即经理室、财务科、技术科和销售科。 3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。 4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。 5)每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为工资减去扣除。

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

完整钢结构课程设计精

贵州大学高等教育自学考试实践考试 钢结构课程设计 课程代码:02443 题目:单层工业厂房屋盖结构——梯形钢屋架设计 年级:2 0 1 3 级 专业:建筑工程 层次:本科 姓名:张伟 准考证号:21001181132 衔接院校:贵州大学 指导老师:张筱芸 完成日期: 2015. 4. 24

附件:设计资料 1、设计题目:《单层工业厂房屋盖结构——梯形钢屋架设计》 2、设计任务及参数: 第五组: 某地一机械加工车间,长84m,跨度24m,柱距6m,车间内设有两台40/10T中级工作制桥式吊车,轨顶标高18.5m,柱顶标高27m,地震设计烈度7度。采用梯形钢屋架,封闭结合,1.5×6m预应力钢筋混凝土大型屋面板(1.4KN/m2),上铺100mm厚泡沫混凝土保温层(容重为1KN/m3),三毡四油(上铺绿豆砂)防水层(0.4KN/m2),找平层2cm厚(0.3KN/m2),卷材屋面,屋面坡度i=1/10,屋架简支于钢筋混凝土柱上,混凝土强度等级C20,上柱截面400×400mm。钢材选用Q235B,焊条采用E43型。屋面活荷载标准值0.7KN/m2,积灰荷载标准值0.6KN/m2, 3、设计任务分解 学生按照下表分派的条件,完成梯形钢屋架设计的全部相关计算和验算及构造设计内容。 表-3 4、设计成果要求 在教师指导下,能根据设计任务书的要求,搜集有关资料,熟悉并应用有关规范、标准和图集,独立完成课程设计任务书(指导书)规定的全部内容。 1)需提交完整的设计计算书和梯形钢屋架施工图。 2)梯形钢屋架设计要求:经济合理,技术先进,施工方便。 3)设计计算书要求:计算依据充分、文理通顺、计算结果正确、书写工整、数字准确、图文并茂,统一用A4纸书写(打印)。 A、按步骤设计计算,各设计计算步骤应表达清楚,写出计算表达式及必要的计算过程,对数据的选取应写明判断依据。 B、计算过程中,必须配以相应的计算简图。 C、对计算结果进行复核后,为保证施工质量且方便施工,应按规范要求对计算结果进行调整并写明依据。 4)梯形钢屋架施工图共两张,图纸绘制的要求:布图合理,版面整齐,图线清晰,标注规范,符合规范/图集要求。

数据结构课程设计题目2010

一、数据结构课程设计要求 1.学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。 3.课程设计按照教学要求需要两周时间完成,两周中每天(按每周5天)至少要上2小时的上机来调试C 或C++语言设计的程序,总共至少要上机调试程序20小时。属教师安排上机时间学生不得缺席。 二、数据结构课程设计题目 1. 运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分, 3) 可以按学校编号或名称、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统(限1 人完成) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

数据结构课程设计(附代码)-数据结构设计说明

应用技术学院课程设计报告 课程名称《数据结构课程设计》 设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级 学号指导教师日期 一.目的与要求 1. 巩固和加深对常见数据结构的理解和掌握 2. 掌握基于数据结构进行算法设计的基本方法 3. 掌握用高级语言实现算法的基本技能 4. 掌握书写程序设计说明文档的能力 5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力 二.课程设计容说明 1. 项目一 (1) 对设计任务容的概述 学生成绩管理** 任务:要现对学生资料的录入、浏览、插入和删除等功能。 输入:设学生成绩以记录形式存储,每个学生记录包含的信息有:学号和各门课程的成绩,设学生成绩至少3门以上。存储结构:采用线性链式结构。 (2) 详细设计 LinkList *create():输入学生成绩记录函数; void print(LinkList *head):显示全部记录函数 LinkList *Delete(LinkList *head):删除记录函数 LinkList *Insert(LinkList *head):插入记录函数 void menu_select():菜单选择 void ScoreManage():函数界面 (3) 程序流程图

(4) 程序模块及其接口描述 该程序可以分为以下几个模块: 1、菜单选择:void menu_select(); 提供五种可以选择的操作,在main函数过switch语句调用菜单menu_select()函数,进入不同的功能函数中完成相关操作。 2、输入功能:LinkList *create(); 通过一个for循环语句的控制,可以一次完成无数条记录的输入。并将其存入链

钢结构课程设计任务书(2013.11)5

《钢结构》课程设计任务书 中国矿业大学银川学院 土木工程教研室 2013年11月

一、设计资料 1. 基本资料 某单跨单层厂房,跨度L=18m,长度42m,柱距6m,厂房内无吊车、无振动设备,梯形屋架铰接于混凝土柱上,屋面坡度i=1/10,无檩屋盖体系,采用1.5×6.0m预应力混凝土屋面板(考虑屋面板对屋架在平面外的支撑作用)。钢材采用Q235-B,焊条采用E43型,手工焊。柱网布置如图1所示、屋架支撑系统布置图如图2所示。 图1 柱网布置图 (a)

(b) (c) 图2 屋架支撑布置图 (a)屋架上、下弦支撑布置图 (b)1-1剖面图;(c)2-2剖面图 2. 屋架形式及几何尺寸 如图3所示。 图3 屋架形式及几何尺寸 3. 屋面荷载及内力系数 (1)永久荷载(标准值) 三毡四油防水层0.40 kN/m2 水泥砂浆找平层0.40 kN/m2 保温层0.20 kN/m2 预应力混凝土屋面板(1.00 +0.001×本人学号后三位数)kN/m2 (例如:学号为070807110190,则屋面板荷载为:1.00+0.001×190=1.19kN/m2) 屋架及支撑自重0.12+0.011L=0.318kN/m2 (2)可变荷载(标准值) 屋面活荷载:按学号选取(参见下表);雪荷载:0.30kN/m2 屋面活荷载的取值 (kN/m2)

如图4所示。 图4 屋架内力系数 (a)全跨单位荷载作用下各杆件的内力值 (b)半跨单位荷载作用下各杆件的内力值 二、设计内容 1. 完成一份钢屋架计算书。用A4纸手写,加统一格式封皮装订,见附件1。计算书内容必须包括: (1)钢屋架荷载计算; (2)杆件内力的计算和组合; (3)杆件截面的选择和验算; (4)主要节点设计(至少完成一个下弦节点、一个上弦节点、支座节点、屋脊节点及下弦中央节点的设计,节点设计内容包括节点板、加劲肋及连接焊缝)。 2. 绘制一份钢屋架施工图。用空白的A2绘图纸手绘,采用统一的图签栏,如图5所示。建议杆件轴线比例采用1:20,节点(包括杆件截面、节点板和小零件)比例采用1:10。当屋架对称时,可仅绘制半榀屋架的施工图。施工图内容必须包括: (1)施工图的说明; (2)材料表; (3)屋架简图; (4)屋架立面图;

数据结构课程设计

福建工程学院课程设计 课程:数据结构课程设计 题目: 1.综合应用 2.折半查找 3.快速排序 专业:软件工程 班级:1101 座号:3110305129 姓名:潘聪 2012 年 6 月26 日

设计题目1:综合应用 一、问题描述 有N名学生,每名学生含有如下信息:学号、姓名、某四门课的成绩,并计算其总分,用一结构数组表示之。然后实现以下功能: (1)将这些数据存放至文件stuf.dat中; (2)将文件中的数据读出至结构数组中,并显示之; (3)输出总分最高分和最低分的名字; (4)输出总分在340分,单科成绩不低于80分的名单; (5)求出各科平均分数; (6)按总分排名; (7)输出补考名单。 二、解决问题的算法思想描述 (1)子函数:首先确定需要的子函数,总共7个,对应的功能分别是题目要求的七项(2)主函数:主函数中,要设计出易于使用的人机界面,就必须要用到switch 。 (3)文件的存放读取,必须要用到文件的函数,fopen,fread,fclose等。 (4)把每个学生的信息定义在一个结构数组中,利用结构数组更加方便。 (5)各科成绩排名用冒泡排序即可。 (6)输出总分,补考名单,各科的平均分都比较简单。 三、设计 1. 数据结构的设计和说明 //定义结构体 typedef struct { int num; //学号 char name[10]; //姓名 int score1; //语文 int score2; //数学 int score3; //物理 int score4; //化学 }student; student stu[MAX]; //结构数组 2.模块结构图及各模块的功能:

《数据库原理与应用》课程设计任务书

课程设计任务书

《数据库原理与应用》课程设计任务书 一、设计目的 通过本次课程设计,使同学们能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 二、课程设计的要求 1、明确课设任务,复习与查阅相关资料。 2、可以根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、每位学生必须独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用程序应具有一定的实用性。 6、程序具有一定的健壮性。 三、数据库课程设计报告主要内容 1、系统需求分析 (1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。 (2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 (3)安全性和完整性要求。 2、概念结构设计 (1)逐一设计分E-R图,合并分E-R图,生成基本E-R图。 (2)若在合并中存在属性冲突、命名冲突以及结构冲突,给出解决方法,若存在不必要的冗余,则消除并给出设计方法。 (3)基本E-R图中要求标明主码、外码、联系类型。 3、逻辑结构设计 (1)给出由E-R得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法; (6)对不同级别的用户定义不同的视图以保证系统的安全性。 4、数据库物理结构设计 以表格的形式列出各张表,包括字段名称、中文含义、数据类型、长度、完整性约束、索引定义、字段说明; 5、数据库实施 (1)使用T-SQL语句实现数据库表; (2)使用T-SQL语句创建必要索引; (3)使用T-SQL语句实现必要的数据库视图; (4)用T-SQL语句实现必要的存储过程及触发器。

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

中南大学钢结构课程设计

中南大学土木工程学院土木工程专业(本科) 《钢结构基本原理》课程设计任务书 题目:钢框架主次梁设计 姓名: 班级: 学号:

一、设计规范及参考书籍 1、规范 (1)中华人民共和国建设部. 建筑结构制图标准(GB/T50105-2001) (2)中华人民共和国建设部. 房屋建筑制图统一标准(GB/T50001-2001) (3)中华人民共和国建设部. 建筑结构荷载规范(GB5009-2010) (4)中华人民共和国建设部. 钢结构设计规范(GB50017-2003) (5)中华人民共和国建设部. .钢结构工程施工质量验收规范(GB50205-2001) 2、参考书籍 (1)沈祖炎等. 钢结构基本原理,中国建筑工业出版社,2006 (2)毛德培. 钢结构,中国铁道出版社,1999 (3)陈绍藩. 钢结构,中国建筑工业出版社,2003 (4)李星荣等. 钢结构连接节点设计手册(第二版),中国建筑工业出版社,2005 (5)包头钢铁设计研究院 中国钢结构协会房屋建筑钢结构协. 钢结构设计与计算(第二版), 机械工业出版社,2006 二、设计构件 某多层图书馆二楼书库楼面结构布置图如图,结构采用横向框架承重,楼面活荷载标准值2.02kN mm (单号)、5.02kN mm (双号),其中12班竖向梁跨度取值:学号1~10为8m 、学号11~20为10m ;学号21~为12m ;其中13班水平向梁跨度取值:学号1~10为9m 、学号11~20为11m ;学号21~为13m ;。楼面板为120mm 厚单向实心钢筋混凝土板,荷载传力途径为:楼面板-次梁-主梁-柱-基础。设计中仅考虑竖向荷载和活载作用,框架梁按连续梁计算,次梁按简支梁计算。其中框架柱为焊接H 型钢,截面尺寸为H600×300×12×18,层高3.5m 。 三、设计内容要求 (1)设计次梁截面CL-1(热轧H 型钢)。 (2)设计框架主梁截面KL-1(焊接工字钢)。 (3)设计框架主梁短梁段与框架柱连接节点,要求采用焊缝连接,短梁段长度一般为0.9~ 1.2m 。 (4)设计框架主梁短梁段与梁体工地拼接节点,要求采用高强螺栓连接。 (5)设高计次梁与主梁工地拼接节点,要求采用强螺栓连接。

数据结构课程设计

<<数据结构>> 课 程 设 计 班级:111004 姓名:董丽美 学号:111004122 指导教师:史延新 完成日期:2013 _07 _10

题目一:约瑟夫环问题 【问题描述】约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n 的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出列顺序。【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号。 【测试数据】m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序应为:6,1,4,7,2,3,5) 一 .需求分析 1.用单循环链表存储并遍历及删除节点的方法,计算并输出约瑟夫环的问题。 2.环中总人数和节点信息由用户输入,且均为正整数。3.在窗口界面输出出列顺序的编号。 二.概要设计

1.设定链表的抽象数据类型定义: ADT List{ 数据对象:D={a(i)|a(i)∝Elemset,i=1,2,…,n,n>=0} 数据关系:R1={|a(i-1),a(i)∝D,i=2,…,n}基本操作: InitList(&L) 操作结果:构造一个空的线性表 ListInsert(&L,i,e) 初始条件:线性表L已经存在。 操作结果:在L中第i个位置之前插入新的数据元素 e,L的长度增加1。 ListDelete(&L,i,&e) 初始条件:线性表L已经存在且非空,1<=i<=ListLength(L)。操作结果:删除L的第i个数据元素,并用e返回其值,L 的长度减1 。 } 2.算法的基本思想: 根据题目要求,采用单循环线性表的基本操作来实现约瑟夫环问题。首先根据所给信息生成链表节点并插入,根据节点记录密码及其所在链表中的顺序,由给出的初始访问值进行遍历,当变量i增量等于所给的值(即关键字)时,指针所指的节点处的顺序值即为所需输出的顺序号。每输出一次顺

数据库系统课程设计任务书

数据库系统课程设计任务书 肇庆学院计算机学院 、题目 完成一个数据库应用系统地设计全过程二、内容需求分析、数据库设计、数据库建立、数据输入、应用系统地设计和开发、用户界面地设计和实现、系统调试和安装等. 三、要求 (一)DBMS 和开发工具地选择

DBMS 不限(不可使用Viaual Foxpro ),即可以选择任意大、小型RDBMS, 例如:Oracle,Sybase,SQL Server,Access,MySQL, 建议使用Oracle,SQL Server 等大型RDBMS. 开发工具不限,例如Delphi,PowerBuilder,C++ Builder,.net,ASP,JSP 等等. 注:不可以用Access 等地向导生成应用程序. (二)系统结构及相关技术 建议采用C/S 结构, 例如Access+VB,Oracle+Delphi,SQL Server +InterDev,Oracle+PowerBuilder,MySQL+ VB,Access+C++ Builder 等, 可选择使用B/S/S 结构,请查阅网络数据库技术相关资料,例如ASP(.NET )、JSP(J2EE) 三)报告封面地要求(见后) 封面从上而下依次为: (1)数据库系统原理课程设计报告(2 黑居中) (2)设计题目(3 黑居中) (3)姓名学号 (4)指导教师 (5)起始时间,起始时间 四)报告内容格式要求 纸张大小为A4纸.正文为5号宋体, 一级标题:第一章(标题,2号宋体,上下空两行居中,行距为5号宋体单倍行距). 二级标题:§1.1[(标题,3号黑体居中,上下空一行,行距为5号宋体单倍行距). 三级标题:1.1. 1 [第一章第一节第一个问题](标题,4黑左顶,占2行). 表名为小5 号黑体,居中,形式如“表1-1 表名” . 图名为小5号宋体,居中,形式如“图2.4 图名” . 参考文献字体为5 号字体. 页眉,页码为小5 号宋体,居中. 五)报告内容要求(参考教材第七章数据库设计) (1)目录 (2)概述 包括项目背景、编写目地、软件定义、开发环境等内容 (3)需求分析 ①信息要求用户需要从数据库中获得信息地内容与性质.数据库中需要存储哪些数据. ②处理要求 用户需要完成什么处理功能,对处理地响应时间有什么要求.(给出功能模块图) ③安全性与完整性要求( 4)概念结构设计生成基本E-R 图 ( 5)逻辑结构设计 把ER 模型图转换为关系表 (6)主要模块地设计以及代码 (7)总结①设计过程中遇到地问题以及解决方法. ②设计地体会. ( 8)参考文献. 四、选题(三选一,任选其中一个题目独立完成) 1、教学管理系统 1)信息需求:

数据结构课程设计说明书讲解

安徽理工大学 数据结构 课程设计说明书题目: 一元多项式计算 院系:计算机科学与工程学院 专业班级:数字媒体13-1班 学号: 2013303102 学生姓名:钱福琛 指导教师:梁兴柱 2015年 1月 9 日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

2014年 11 月 10 日安徽理工大学课程设计(论文)成绩评定表

目录 1 问题描述 2 功能描述 2.1 课题要求........................................... 2.2 软件格式规定....................................... 3 设计 2 3.1 相关函数介绍说明................................... 3.2 主程序的流程基函数调用说明......................... 4 程序设计 4 4.1 多项式存储的实现................................... 4.2 加减乘除算法....................................... 4.2.1加法运算的实现............................... 4.2.2减法运算的实现............................... 4.2.3乘法运算的实现............................... 4.2.4除法运算的实现............................... 4.3 函数调用关系图..................................... 5 运行测试

钢结构课程设计

中南大学 《钢结构基本原理》 课程设计 设计名称:钢框架主次梁设计 专业班级:土木1112班 姓名:周世超 学号: 指导老师:龚永智 设计任务书 (一)、设计题目 某钢平台结构(布置及)设计。 (二)、设计规范及参考书籍 1、规范 (1)中华人民共和国建设部. 建筑结构制图标准[S](GB/T50105-2001) (2)中华人民共和国建设部. 房屋建筑制图统一标准[S](GB/T50001-2001) (3)中华人民共和国建设部. 建筑结构荷载规范[S](GB5009-2001)(4)中华人民共和国建设部. 钢结构设计规范[S](GB50017-2003)(5)中华人民共和国建设部. 钢结构工程施工质量验收规范[S](GB50205-2001) 2、参考书籍

(1)沈祖炎等. 钢结构基本原理[M]. 中国建筑工业出版社,2006 (2)毛德培. 钢结构[M]. 中国铁道出版社,1999 (3)陈绍藩. 钢结构[M]. 中国建筑工业出版社,2003 (4)李星荣等. 钢结构连接节点设计手册(第二版)[M]. 中国建筑工业出版社,2005 (5)包头钢铁设计研究院?中国钢结构协会房屋建筑钢结构协. 钢结构设计与计算(第二版)[M]. 机械工业出版社,2006 (三)、设计内容 某多层图书馆二楼书库楼面结构布置示意图如图一所示,结构采用横向框架承重,楼面板为120mm厚的单向实心钢筋混凝土板。荷载的传力途径为:楼面板—次梁—主梁—柱—基础,设计中仅考虑竖向荷载与动荷载的作用。框架按照连续梁计算,次梁按照简支梁计算。其中框架柱为焊接H型钢,截面尺寸为H600X300X12X18,楼层层高取3.9米 采用的钢材为Q345,焊条为E50 柱网尺寸9 ×9,永久荷载5,活荷载10 活荷载分项系数为1.4 恒荷载分项系数为1.2 (四)、设计内容要求 1)验算焊接H型钢框架柱的承载能力,如不满足请自行调整 2)设计次梁截面CL-1(热轧H型钢)。 3)设计框架主梁截面KL-1(焊接工字钢)。 4)设计框架主梁短梁段与框架柱连接节点,要求采用焊缝连接,短

钢结构课程设计指导书(详细版)

钢结构课程设计指导书 (梯形钢屋架) 土木工程学院钢结构教研室

钢结构课程设计指导书 绪言课程设计目的要求 课程设计是一个重要的教学过程,是对学生知识和能力的总结。要求学生通过钢结构课程设计,进一步了解钢结构的结构型式、结构布置和受力特点,掌握钢结构的计算简图、荷载组合和内力分析,掌握钢结构的构造要求等。要求在老师的指导下,参考已学过的课本及有关资料,综合应用钢结构的材料、连接和基本构件的基本理论、基本知识,进行整体钢结构设计计算,并绘制钢结构施工图。 第一节 钢结构课程设计题目 一、设计题目 某24m跨度车间钢屋架设计。 二、 设计任务 1、选择钢屋架的材料 2、确定屋架形式及几何尺寸 3、屋盖及支撑的布置 4、钢屋架的结构设计 5、绘制钢屋架施工图及材料表 三、 设计资料 某厂一金工车间跨度24m,长度为90m,柱距6m,内设两台50/5t中级工作制桥式吊车,设防烈度为7度。屋面采用1.5×6.0m大型屋面板。20mm厚水泥砂浆找平,上铺80mm厚泡沫混凝土保温层;三毡四油防水层,上铺小石子。屋面坡度i=1/10。屋面活荷载标准值0.7kN/m2,雪荷载标准值0.5 kN/m2,积灰荷载标准值0.3 kN/m2。屋架铰接于钢筋混凝土柱上,上柱截面b×h=400×400mm,混凝土强度等级为C20。 第二节 钢屋架设计计算 一、材料选择 根据荷载性质,钢材可采用Q235-A.F,要求保证屈服强度、抗拉强度、伸长率、冷弯试验及碳、硫、磷含量合格。屋架连接方法采用焊接,焊条可选用

E43型,手工焊。 二、屋架形式及几何尺寸 因屋面采用混凝土大型屋面板,屋面坡屋i=1/10,故宜采用梯形屋架。 屋架计算跨度应取l。=l-2×150=24000-300=23700mm。 屋架端部高度H。与屋架中部高度及屋面坡度相关,我国常将H。取为1.8~2.1m等较整齐的数值,以利多跨屋架时的屋面构造。可取H。=1990mm。 为使屋架上弦只受节点荷载,腹杆体系采用节间为3m的人字形式,屋面板传来的荷载,正好作用在节点上,使之传力更好。 屋架跨中起拱l/500 ,可取50mm。 三、支撑布置 根据车间长度,屋架跨度,荷载情况,以及吊车设置情况,宜布置三道上、下弦横向水平支撑,垂直支撑和系杆,屋脊节点及屋架支座处沿厂房通长设置刚性系杆,屋架下弦沿跨中通长设一道柔性系杆。凡与支撑连接的屋架可编号为GWJ—2,其它编号均为GWJ—l。 四、荷载和内力计算 1、荷载计算 屋面活荷载与雪载一般不会同时出现,可取其中较大者进行计算。 屋架沿水平投影面积分布的自重(包括支撑)可按经验公式计算。 荷载计算中,因屋面坡度较小,风荷载对屋面为吸力,对重屋盖可不考虑,所以各荷载均按水平投影面积计算。 2.荷载组合 设计屋架时,应考虑以下三种荷载组合: (1) 全跨永久荷载+全跨可变荷载 (2) 全跨永久荷载+半跨可变荷载 (3) 全跨屋架与支撑自重+半跨屋面板自重+半跨屋面活荷载 3. 内力计算 按图解法、解析法、电算法均可计算屋架各杆内力。 先求出单位荷载作用于各节点时的内力,即内力系数,然后可求出当荷载作用于全跨及半跨各节点时的杆件内力,并求出三种荷载组合下的杯件内力.取其中不利内力(正、负最大值)作为设计屋架的依据。可列表计算。 跨中附近斜腹件的内力发生变号,由于考虑了施工阶段荷载的不利分布。

数据结构课程设计

郑州工业应用技术学院 课程设计说明书 题目:手机信息数据检索 姓名:王港 院(系):信息工程学院 专业班级:16级计算机科学与技术6班 学号:1601110241 指导教师:王礼云 成绩: 时间:2018 年 1 月 2 日至2018 年 1 月12

郑州工业应用技术学院 课程设计任务书 题目手机信息数据检索 专业、班级16级计算机科学与技术6班学号1601110241姓名王港 主要内容: 开发一个手机信息数据检索,使管理员可以很好的管理回收的手机,避免平时废旧手机没有作用,不知道如何去处理旧的手机等问题。减轻废旧手机资源的浪费。本废旧手机回收系统利用单链表实现了基本信息的添加。管理员能够对各种信息进行修改,例如手机信息添加,手机信息删除,密码修改,退出系统。 基本要求: 1、巩固并加深学生对数据结构基本算法的理解; 2、认识面向过程和面向对象两种设计方法的区别; 3、进一步掌握和应用VC++6.0 集成开发环境; 4、提高运用对于数据结构的理解,增强了我解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法。 主要参考资料: [1]谭浩强. C语言基础课程[M].北京:清华大学出版社,2009. [2]刘振安. C程序设计课程设计[M].北京:机械工业出版社,2016. [3]滕国文. 数据结构课程设计[M].北京:清华大学出版社, 2010. [4]吴伟民. 数据结构[M].北京:清华大学出版社, 2017. 完成期限:2018.1.2-2018.1.12 指导教师签名: 课程负责人签名: 2018 年1 月12 日

摘要 21世纪以来,经济高速发展,人们生活发生了日新月异的变化,特别是手机普及到每个人生活的各个领域。但对于手机的回收越来越不适应现在社会的发展。计算机技术的飞速发展,也为我们带来了巨大的便利。为了适应现代人们回收旧手机方便的愿望。手机信息管理系统软件能够为我们现如今手机回收带来巨大的便利。 我国现如今已经成为手机产品的生产消费大国,伴随着通信技术的迅猛发展,手机更新换代的速度不断提高。特别是追求时尚潮流的大学生群体手机的更换频率增加更快。随着智能手机产品不断推陈出新,手机更新换代的周期也在缩短。据业内人士估计,我国存量闲置手机至少以亿计,但旧手机的回收率却不到2%,旧手机的处置成为一大问题。 中国目前废旧手机的回收现状和回收模式,造成我国手机回收效率低下,更是对垃圾回收产业带来了巨大的冲击,同时目前,我国年废旧手机产生量约上亿部,大部分闲置家中,未能有效回收利用。既浪费了资源,又威胁居民身心健康,造成环境污染。在分析我国废旧手机回收利用现状的基础上,提出了完善废旧手机回收的法律制度、增强消费者环保意识、构建绿色环保废旧手机回收利用新模式等建议。本手机信息数据检索为回收手机的人管理废旧的手机使用,使用单链表实现,对于信息的增加删除效率比较高,可以很方便的进行各种信息管理,对于数据的管理可以让我们更好的面对管理手机的繁杂工作。 关键字:信息检索;冒泡算法;单链表

数据库课程设计任务书模板及参考

数据库课程设计任务书模板及参考

大连理工大学本科生课程设计任务书 课程名称:数据库课程设计 指导教师:田琳琳 项目名称:粒子群主题网站 小组名称: 组长姓名: 上课时间: 6月22日- 7 月11日 大连理工大学软件学院 年6 月22 日

1 设计目的 数据库课程设计是在学生系统的学习了《数据库系统原理》课程后,按照关系型数据库的基本原理,综合运用所学的知识,设计开发一个小型的数据库管理信息系统。 经过这一具体问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。 2 设计要求 (1)根据关系型数据库的设计要求,完成项目的数据库概念模型、 物理模型的设计,能够部署到一个DBMS中,开发存储过程和触发器,完成DB层的功能实现。 (2)学生6人组成一个项目小组,一人为组长,其它人为组员,组 内成员分工明确、团结协作、相互配合,共同完成选题的设计。 (3)课程设计时间为2周。 (4)数据库管理系统MS SQL Server,开发语言(C# \ASP),数据 库设计工具Powerdesigner。系统中的数据表设计应合理、高效,尽量减少数据冗余; (5)具体指标如下:

1)完成概念模型CDM的设计 a)每个小组成员至少抽象出一个数据字典,定义出数据字 典对应得实体和属性 b)汇总实体,小组共同设计出E-R模型 2)完成物理模型PDM的设计 a)每个小组成员依据自己设计的数据字典和实体及其属 性,同时结合选择的DBMS SQL Server要求,定义出相应得表结构和列字段 b)每个小组成员继续定义个人设计表的主键、索引 c)每个小组成员对个人设计表中,至少定义一个列字段约 束 d)小组完成所有表的表名和列名的统一,定义所有的外健 及其类型,完成PDM的模型 e)按照3范式检查数据库PDM模型 3)完成物理模型在DBMS SQL Server中的部署 a)在DBMS SQL Server中设计合适的数据库空间和用户及角 色 b)根据PDM模型,生成创立数据库的.sql文件 c)连接到DBMS SQL Server下,运行.sql文件,数据库部署 完毕 4)数据库操作程序设计 a)每个小组成员至少要对5个表进行操作;

数据结构课程设计(附代码)

上海应用技术学院课程设计报告 课程名称《数据结构课程设计》 设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级 姓名学号指导教师日期 一.目的与要求 1. 巩固和加深对常见数据结构的理解和掌握 2. 掌握基于数据结构进行算法设计的基本方法 3. 掌握用高级语言实现算法的基本技能 4. 掌握书写程序设计说明文档的能力 5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力 二.课程设计内容说明 1. 项目一 (1) 对设计任务内容的概述 学生成绩管理** 任务:要求实现对学生资料的录入、浏览、插入和删除等功能。 输入:设学生成绩以记录形式存储,每个学生记录包含的信息有:学号和各门课程的成绩,设学生成绩至少3门以上。存储结构:采用线性链式结构。 (2) 详细设计 LinkList *create():输入学生成绩记录函数; void print(LinkList *head):显示全部记录函数 LinkList *Delete(LinkList *head):删除记录函数 LinkList *Insert(LinkList *head):插入记录函数 void menu_select():菜单选择 void ScoreManage():函数界面

(3) 程序流程图 (4) 程序模块及其接口描述 该程序可以分为以下几个模块: 1、菜单选择:void menu_select(); 提供五种可以选择的操作,在main函数中通过switch语句调用菜单menu_select()函数,进入不同的功能函数中完成相关操作。

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

相关主题
文本预览
相关文档 最新文档