logo资料库

运动会分数统计 数据结构课程设计报告.doc

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
数 据 结 构 课 程 设 计 报 告 专 业 计算机科学与技术 学生姓名 班 学 级 号 戴晓飞 B 计算机 071 0710604101 指导教师 胡 波 张静林 完成日期 2009 年 01 月 10 日 信 息 工 程 学 院
1、问 题 描 述 与 分 析 1.1 课程设计目的: 《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结 构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行 各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数 据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业 的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及 人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。 数 据 结 构 课 程 设 计 是 为 数 据 结 构 课 程 独 立 开 设 的 实 践 性 教 学 环 节 。数 据 结 构 课 程 设 计 对 于 巩 固 数 据 结 构 知 识 ,加 强 学 生 的 实 际 动 手 能 力 和 提 高 学 生 综 合 素 质 是 十 分 必 要 的 。 课 程 设 计 的 目 的 : 1. 要 求 学 生 达 到 熟 练 掌 握 C 语 言 的 基 本 知 识 和 技 能 。 2. 了 解 并 掌 握 数 据 结 构 与 算 法 的 设 计 方 法 , 具 备 初 步 的 独 立 分 析 和 设 计 能 力 。 3. 提 高 程 序 设 计 和 调 试 能 力 。 学 生 通 过 上 机 实 习 , 验 证 自 己 设 计 的 算 法 的 正 确 性 。 学 会 有 效 利 用 基 本 调 试 方 法 , 迅 速 找 出 程 序 代 码 中 的 错 误 并 且 修 改 。 4. 培 养 算 法 分 析 能 力 。 分 析 所 设 计 算 法 的 时 间 复 杂 度 和 空 间 复 杂 度 , 进 一 步 提 高 程 序 设 计 水 平 。 5. 初 步 掌 握 软 件 开 发 过 程 的 问 题 分 析 、 系 统 设 计 、 程 序 编 码 、 测 试 等 基 本 方 法 和 技 能 。
1.2 课程设计内容 ( 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)、 课 程 设 计 的 要 求 数 据 结 构 课 程 设 计 用 C/C++/C# 编 程 实 现 。 课 程 设 计 的 一 般 步 骤 : 1. 问 题 描 述 与 分 析 : 根 据 设 计 题 目 的 要 求 , 充 分 地 分 析 和 理 解 问 题 , 明 确 问 题 要 求 做 什 么 ? 限 制 条 件 是 什 么 ? 2. 数 据 结 构 设 计 : 为 实 现 每 个 功 能 选 择 的 逻 辑 结 构 和 存 储 结 构 , 分 析 原 因 及 合 理 性 。 3. 软 件 结 构 设 计 : 设 计 软 件 模 块 之 间 的 结 构 。 4. 算 法 设 计 : 算 法 的 设 计 及 算 法 分 析 。 每 个 部 分 的 算 法 设 计 说 明 , 可 以 用 流 程 图 描 述 算 法 。 5. 程 序 编 码 : 把 详 细 设 计 的 结 果 进 一 步 求 精 为 程 序 设 计 语 言 程 序 。源 程 序 要 按 照 软 件 工 程 的 规 则 来 编 写 ,要 求 结 构 清 晰 , 重 要 功 能 部 分 要 加 上 清 晰 的 程 序 注 释 。 6. 调 试 分 析 : 掌 握 调 试 工 具 的 各 种 功 能 , 设 计 测 试 数
据 ,测 试 输 出 的 结 果 。并 进 行 算 法 的 时 间 复 杂 度 和 空 间 复 杂 度 的 分 析 。 7. 总 结 : 课 程 设 计 过 程 的 收 获 , 遇 到 问 题 以 及 解 决 问 题 的 思 路 和 方 法 ,程 序 调 试 能 力 的 思 考 ,对 数 据 结 构 这 门 课 程 的 认 识 及 思 考 等 。 8. 编 写 课 程 设 计 报 告 2、程序设计描述 2.1 运行环境: Microsoft Visual C++ 6.0 。 Visual C++( 简 称 VC) 是 Microsoft 公司推出的目前使用极为广泛的基于 Windows 平台 的 C++可视化开发环境。Visual C++ 6.0 提供的控制台应用程 序对学习和掌握标准 C++内容非常有利。“可视”的资源编辑器 与 MFC 类以及应用程序向导,为快速高效地开发出功能强大的 Windows 应用程序提供了极大的方便。利用 Visual C++ 6.0 进 行 Internet、数据库及多媒体等多方面的程序开发也很容易。
2.2 系统流程图: 运 动 会 分 数 统 计 headnode itemnode Globals c mscore schoolnum score wscore itemnum mark range top inputinformation() inquiry() main() output() readdata() writedata() h
N Y 开始---初始化 输入 Y Y 输入学校及男女项目范围 输入某项目各名次成绩 继 续 输 N 成绩查询 Case2 查询团体总分 继续 N Case1 查询各学校成绩 输出查询学校成绩 继续 N 结束—退出 Y Case3 Y 2 .3 函数及变量说明: void inputinformation( )为输入信息函数。用来输入各个学 校各个项目前三名或前五名的成绩,结果取前三名还是前五名自己 定,利用 swith 语句前三名的分数赋为 5、3、2,前五名的成绩赋为 7,5、3、2、1,未取得成绩则赋为 0。并统计团体总分,男团总分 和女团总分。 void output( )为输出函数。列出一个输出目录利用 swich 语
句使函数按学校编号输出或按学校总分、男团总分、女团总分由高 到低排序输出。利用辅助数组 remember[]和冒泡排序的方法使之按 分数的由高到低输出。利用循环语句 do while( )当输入 2 时返回输 出目录,输入 0 是跳出循环返回主菜单。 void inquiry( )为查询函数。列车一个查询目录利用 swich 语 句使函数按学校编号或项目编号查询,输出某学校的某个项目的得 分情况或某个项目的前几名的学校。再利用循环语句 do while( ) 当输入 2 是返回查询目录,输入 0 时跳出循环返回主菜单。 void writedata( ) 是 数 据 存 储 函 数 。 建 立 一 个 文 件 sportsdata.txt,将输入的数据存入此文件中。 void readdata( )是读入数据函数。它将写入 sportsdada.txt 中的数据直接调用并显示出来。 void main( )是主函数。列出主菜单,利用 switch 语句调用以 上函数实现各个菜单的功能。 3、调试分析 3.1 调试过程中出现的问题和处理方式: 为了使系统具有一点的容错性,当输入错误信息时应给出相应提 示以正确输入数据,如:printf("要查询的项目编号:"); scanf("%d",&s); if(s>m+w||s==0) printf("此次运动会不包括这个项目.\n\n\n"); 想在每次查询结束想返回主菜单进行其它项时,应在 main( )
分享到:
收藏