2012[1].09.23交流发电机结构与设计

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

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

数据结构课程设计_学生搭配问题

数据结构课程设计 题目: 学生搭配问题 学院: 班级: 学生姓名: 学生学号: 指导教师: 2012 年 12 月 3 日 课程设计任务书

摘要 针对学生搭配问题,循环队列是一种重要的链式结构,其特殊性在于需附设两个指针front和rear分别指示对头元素及队尾元素的位置且对头和队尾相邻接。在程序的设计过程中,运用了各种基本的算法,有判断队空及队满,出队,入队等.循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。学生搭配问题是典型的只有采用循环队列才能解决的问题,实验表明该算法的空间复杂度优于其他算法。 本文用循环队列会很好的把这个程序设计出来,会有很好的效果。得出的程序运行结果能够很形象的把结果表示出来。 关键词:学生配对,数据结构,循环队列。

目录 摘要................................................... I 1 设计题目 (1) 2 运行环境 (1) 3 算法设计的思想 (1) 4 算法的流程图 (2) 5 算法设计分析 (2) 6 源代码 (3) 7 运行结果分析 (8) 8 收获及体会 (8) 参考文献 (9) 致 (9)

学生搭配问题 1.设计题目 一班有m个女生,有n个男生(m不等于n),现要开一个舞会. 男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程,要求如下: (1)输出每曲配对情况 (2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值。 2.运行环境 本课题的程序设计和测试等环节都是在Windows7操作系统下完成,软件的编译测试环境为vc6.0 以c语言编写的。软件的硬件运行需求非常低,任何计算机都可运行。 3.算法设计的思想 基本思路:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。 循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。 循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。循环队列的入队,出队,判队满,判队空。 (1)要模拟动态地显示出现题目中所要求的循环,我们要先建立两个循环队列SqQueue和SqQueue2。 (2)将男生、女生两组人分别存入这两个队列。以实现他们的循环配对输出,这是循环队列固有的特性。 (3)利用循环队列的特性,将男女生分别进行入队列和出队列操作,且实现搭配输出。 (4)循环队列的长度分别设为男女生的个数即可。 (5)在计算机终端输出的结果是:根据要求输出男生女生搭配情况 关键问题: 循环队列的应用 解决方法:数据模型(逻辑结构): 循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。 存储结构: 循环链表

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

东北大学秦皇岛分校2012级数据结构课程设计任务书-2班题目

34. 教学计划编制问题 设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。 35. 散列法的实验研究 散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的方法也可以不同。两者是影响查询算法性能的关键因素。对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对查询性能的影响。 36. 括号匹配的检验 [问题描述] 假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即(()[ ])或[([ ] [ ])]等为正确格式,[(])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列: [([][])] 12345678 当计算机接受了第1个括号以后,他期待着与其匹配的第8个括号的出现,然而等来的却是第2个括号,此时第1个括号“[”只能暂时靠边,而迫切等待与第2个括号相匹配的第7个括号“)”的出现,类似的,因只等来了第3个括号“[”,此时,其期待的紧迫程度较第2个括号更紧迫,则第2个括号只能靠边,让位于第3个括号,显然第3个括号的期待紧迫程度高于第2个括号,而第2个括号的期待紧迫程度高于第1个括号;在接受了第4个括号之后,第3个括号的期待得到了满足,消解之后,第2个括号的期待匹配就成了最急迫的任务了,…… ,依次类推。可见这个处理过程正好和栈的特点相吻合。 [基本要求] 读入圆括号和方括号的任意序列,输出“匹配”或“此串括号匹配不合法”。 [测试数据] 输入([ ]()),结果“匹配” 输入[()],结果“此串括号匹配不合法” [实现提示] 设置一个栈,每读入一个括号,若是左括号,则作为一个新的更急迫的期待压入栈中;若是右括号,并且与当前栈顶的左括号相匹配,则将当前栈顶的左括号退出,继续读下一个括号,如果读入的右括号与当前栈顶的左括号不匹配,则属于不合法的情况。在初始和结束时,栈应该是空的。 [选作内容] 考虑增加大括号的情况。

结构化分析和设计方法

3.1.2结构化方法的基本思想 结构化方法是“结构化分析”(Structured Analysis,SA)和“结构化设计”(Structured Design,SD)的总称,结构化方法是目前最成熟、应用最广泛的信息系统开发方法之一,他的优点是有一套严格的开发程序,各开发阶段都要求有完整的文档纪录,国内外已有许多成功开发的例子。 3.1.2.1结构化分析 1.结构化系统分析思想 结构化分析方法是由美国Yourdon公司在20世纪70年代提出的,其基本思想是将系统开发看成工程项目,有计划、有步骤地进行,是一种应用很广的开发方法,适用于分析大型信息系统。 结构化分析方法采用“自顶向下,逐层分解”的开发策略。按照这种策略,再复杂的系统也可以有条不紊的进行,只要将复杂的系统适当分层,每层的复杂程度即可降低,这就是结构化分析的特点。 2.结构化分析方法的内容 结构化分析之后获得的文档是系统分析报告,系统分析报告是由下面几个部分组成的:组织结构及其分析,现行业务流程及其分析,现有数据和数据流程及其分析,新系统地初步方案和补充材料,如开发计划等。 3.结构划分此方法的特点 结构化分析方法有以下特点 结构化分析方法简单,易于掌握和使用。 结构化分析方法将分析的结果用图形表示,如业务流程图,数据流程图等,这些图形都有一套标准图符组成,从而将分析结果简明易懂的展示在用户面前。 结构化分析的实施步骤实现分析实现环境中已存在的系统,在此基础上再构思即将开发的目标系统,从而大大降低了问题的复杂程度,符合人们认识世界、改造世界的一般规律。 4.结构化分析方法的局限 结构化分析方法是一种行之有效的方法,但也有一定的局限性。局限性可以概括成以下几个方面: 结构化分析方法要求对系统有完整确切的需求定义,而实际上这是非常困难的。

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

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

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

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

数据结构课程设计要求

一、数据结构课程设计要求 1. 学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2. 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况, 二、数据结构课程设计题目 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 人完成)任务:通过此系统可以实现如下功能:录入:可以录入航 班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息: 当航班信息改变可以修改航班数据文件要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 3. 文章编辑(限 1 人完成)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80 个字符,共N 行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分 4 行输出"全部字母数"、"数字个数" 、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章;

结构化设计方法

结构化设计方法 刘凤祥

目录 第一模块软件工程和软件过程 (3) 瀑布模型 (4) 快速原型模型 (5) 增量模型(渐增模型) (6) 螺旋模型 (7) 喷泉模型 (8) 第二模块结构化分析 (9) 概述 (9) 与用户通信的技术 (9) 分析建模与规格说明 (10) 实体——关系图 (11) 数据流图 (11) 状体转换图 (12) 数据字典 (13) 练习 (14) 第三模块结构化设计 (14) 第四模块结构化实现 (31) 第五模块软件项目管理 (31) 第六模块案例分析 (32)

第一模块 软件工程和软件过程 一、 概述 1. 谁有软件开发的经验?软件开发的大概过程是什么?曾遇到过什么问题? 2. 计算机系统的发展所经历的四个阶段 3. 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题 4. 产生软件危机的原因 5. 消除或减少软件危机的途径 二、 软件工程 ①把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;②研究①中提到的途径。 三、 软件工程的基本原理 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性 1)60年代中期以前 无软件设计的文档资料 2)出现了软件作坊,“软件危机”出现,1968年提出“软件工程”的概念 3)20世纪70年代中期开始,10年。主要特点是出现了微处理器 4)软硬件的综合效果

五、生命周期模型 瀑布模型 图1.2传统的瀑布模型 1. 阶段间具有顺序性和依赖性 2. 推迟实现的观点(尽量晚的开始程序的编写) 3. 质量保证的观点 优点:可强迫可发人员采用规范化的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 缺点:软件产品交付用户前,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

数据结构课程设计

福建工程学院课程设计 课程:数据结构课程设计 题目: 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.模块结构图及各模块的功能:

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

数据结构课程设计报告要求及模板2012-2013(1)

数据结构课程设计报告撰写要求 (一)纸张与页面要求 1.采用国际标准A4型打印纸或复印纸,纵向打印。 2.封页和页面按照下面模板书写(正文为:小四宋体1.5倍行距)。 3.图表及图表标题按照模板中的表示书写。 (二)课设报告书的内容应包括以下各个部分:(按照以下顺序装订) 1.封页(见课设模版) 2.任务书(学生教师均要签字,信息填写完整) 3.目录 4.正文一般应包括以下内容: (1)题目介绍和功能要求(或描述) 课程设计任务的详细描述(注意不能直接抄任务书),将内容做更详细的具体的分析与描述; (2) 系统功能模块结构图 绘制系统功能结构框图及主要模块的功能说明; (3) 使用的数据结构的描述: 数据结构设计及用法说明; (4) 涉及到的函数的描述 ; (5) 主要算法描述( 程序流程图) (6) 给出程序测试/运行的结果 设计多组数据加以描述(包括输入数据和输出结果) (7) 参考文献 格式要求:[序号]作者,等. 书名.出版地:出版社,出版年 5. 附录:程序清单 (应带有必要的注释) 6. 课程设计的总结及评语

沈阳航空航天大学 课程设计报告 课程设计名称:数据结构课程设计 课程设计题目:个人事务提醒工具软件设计 院(系):计算机学院 专业:网络工程 班级:14010201 学号:2011040102004 姓名:李舒敏 指导教师:许清

装订时:此页为任务书

目录 1 概要设计 (1) 1.1题目介绍和功能要求 (1) 2 系统设计 (2) 2.1总体结构 (2) 2.2数据结构设计及用法说明 (3) 2.3函数设计 (3) 2.4关键流程 (5) 3调试分析 (11) 4测试及运行结果 (12) 参考文献 (15) 附录(程序清单) (16)

数据结构课程设计报告-学生成绩管理系统[]

武汉理工大学华夏学院课程设计报告书 课程名称:数据结构课程设计 题目:用C语言实现成绩统计程序的设计系名:信息工程系 专业班级:计算机1121 姓名:吴涛 学号:10210412104 指导教师:司晓梅 2016年3 月20日

武汉理工大学华夏学院信息工程系 课程设计任务书 课程名称:数据结构课程设计指导教师:司晓梅班级名称:计算机1121 开课系、教研室:信息系计算机 一、课程设计目的与任务 《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理,这就是一个良好的程序设计技能训练的过程。提高学生的程序设计能力、掌握基本知识、基本技能,提高算法设计质量与程序设计素质的培养就是本门课程的课程设计的目的。 任务:根据题目要求,完成算法设计与程序实现,并按规定写出课程设计报告。 二、课程设计的内容与基本要求 设计题目:用C语言实现成绩统计程序的设计 〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法: (1)输入每个人的各门课程的成绩,计算每人的平均成绩; (2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次; (3)按名次列出每个学生的姓名和各科成绩; 〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 三、课程设计步骤及时间进度和场地安排 时间:1周地点:现代教育中心 具体时间安排如下: 第一天:布置题目,确定任务、查找相关资料 第二天~第四天:功能分析,编写程序,调试程序、运行系统; 第五天上午:撰写设计报告; 第五天下午:程序验收、答辩。 四、课程设计考核及评分标准

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

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)上述功能可用菜单选择。

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目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

数据结构课程设计二叉树遍历查找

课程设计任务书 2011 —2012 学年第一学期 电子与信息工程系计算机专业09计算机一班班级 课程设计名称:数据结构课程设计 设计题目:排序二叉树的遍历 完成期限:自2012 年 1 月 2 日至2012 年 1 月 6 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 排序二叉树的遍历(用递归或非递归的方法都可以) 1)问题描述 输入树的各个结点,建立排序二叉树,对建立的排序二叉树进行层次、先序、中序和后序遍历并统计该二叉树中叶子结点的数目。 2)基本要求 (1)用菜单实现 (2)能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列和叶子结点的数目。 四、参考文献

1.王红梅.数据结构.清华大学出版社 2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社 #include using namespace std; int num; //-----------排序二叉树节点--------------// struct tree //定义二叉树节点结构 { int data; //节点数据域 tree *right,*left; //右,左子树指针 }; //-----------排序二叉树类----------------// class Btree { tree *root;//根节点 public: Btree()

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

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

数据结构课程设计报告,含菜单

算法与数据结构课程设计 报告 系(院):计算机科学学院 专业班级:计科11005 姓名:张林峰 学号: 201003784 指导教师:詹泽梅 设计时间:2012.6.11 - 2012.6.18 设计地点:12教机房

目录 一、课程设计目的 (2) 二、设计任务及要求 (2) 三、需求分析 (2) 四、总体设计 .............. 错误!未定义书签。 五、详细设计与实现[含代码和实现界面].. 8 六、课程设计小结 (15)

一.设计目的 1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。 3.初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。 4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 5.培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二.设计任务及要求 根据《算法与数据结构》课程的结构体系,设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。比如,主界面是大项,主要是学过的各章的名字诸如线性表、栈与队列、串与数组及广义表等,子菜单这些章中的节或者子节。要求所有子菜单退出到他的父菜单。编程实现时,要用到C++的面向对象的功能。 三.需求分析 菜单运用极其广泛,应用于各行各业。菜单运用起来极其方便。随着社会的发展,社会的行业出现多样化,也就需要各式

数据结构课程设计报告 合并果子问题

合肥学院 计算机科学与技术系 课程设计报告 2011 ~2012 学年第二学期 课程数据结构与算法 课程设计名称合并果子问题 学生姓名杜双双 学号1004013037 专业班级计算机科学与技术10级3班 指导教师李红陈艳平王竹婷 2012 年2 月

课程设计报告 一、问题分析和任务定义 此程序需要完成如下要求:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。 例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力3+12=15。可以证明15为最小的体力耗费值。 实现本程序需要解决以下几个问题: 1、要使每次合并的体力消耗最小应该选择数目最小的两堆果子,那么如何选择出两堆最小的呢? 2、选择出了两堆果子如何进行合并? 3、如何计算最小的体力耗费值? 本问题的关键和难点在于数据结构的选择,找出最优的方法,在此选择哈夫曼树数据结构。 示例:三种果子,果子数目分别为1,2,3 哈夫曼树 最小体力消耗值:3+6=9 二、数据结构的选择和概要设计 上面采用哈夫曼树,则其存储就是哈夫曼树的存储结构。采用数组顺序存储结点信息。每一个结点包括四个域:存放该结点的weight 域、分别存放其左右孩子结点在数组中下标的lchild 域和rchild 域,以及记录该结点的父结点信息的parent 域。 只需用一个主函数就能解决问题。 三、详细设计和编码 数据结构: typedef struct {

数据结构课程设计题目(最终版)-2011

数据结构课程设计题目 2012-1 1、医务室模拟。(5人) 问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。试用队列结构进行模拟。 实现要求:要求输出医生的总等待时间和病人的平均等待时间。 程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。 2、招聘模拟(5人) 问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。。。,n-1)。每位应聘者可以申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩,从高到低的顺序排队录取。公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。 程序为每个工种保留一个录取者的有序队列。录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。 实现要求:要求程序输出每个工种录用者的信息(编号、成绩),以及落选者的信息(编号、成绩)。 3、组织机构问题(5人) 问题描述:以物资学院为例,实现对我校组织结构的管理。要求把我校的组织结构以树型结构存储,实现要求: (1)树中每个结点保存部门名称; (2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个? (3)软件可以查询某部门下面的具体编制? 4、最少换车次数问题(5人) 问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。编程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。 实现要求:求得从站0出发乘公交车至站n-1的最少换车次数。 设计思路:利用输入信息构建一张有向图G(邻接矩阵存储),有向图的顶点表示车站,若某条公交线路经i站能到达j站,就在图G中存在一条有向边,权值为1。因此,从站x至站y的最少上车次数对应于图G中从顶点x到顶点y的最短路径长度。 5、职工工作量统计(5人) 问题描述:采用随机函数产生职工的工号和他所完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,按职工完成产品数量的名次、该名次每位职工完成的产品数量、同一名次的职工人数和他们的职工号格式输出。

相关文档
最新文档