0
运动会分数统计系统
学生姓名:
0
学生学号:
0
院(系):
计算机学院
年级专业:
指导教师:
00
0
二〇一〇年六月
攀枝花学院数据结构课程设计
攀枝花学院本科学生课程设计任务书
题 目
运动会分数统计系统的设计与实现
1、课程设计的目的
培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;
培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系
统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本
技能和科学作风方面受到比较系统和严格的训练。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)
任务:参加运动会有 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、局部非法数据。进行程
序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
3、主要参考文献
[1]《数据结构》(C 语言版),严蔚敏,清华大学出版社,2003.
[2]《数据结构题集》,严蔚敏,清华大学出版社,2005.
[3]《数据结构》(C 语言版),刘大有,高等教育出版社,2004.
[4]《Data Structure with C++》,William Ford.William Topp,清华大学出版社,2003.
4、课程设计工作进度计划
完成方案设计与程序框图
第 1 天
第 2、3 天 编写程序代码
第 4 天
第 5 天
程序调试分析和结果
课程设计报告和总结
指导教师(签字)
教研室意见:
日期
年
月
日
学生(签字):
注:任务书由指导教师填写。
1
年
月
日
接受任务时间:
年
月
日
攀枝花学院数据结构课程设计
课程设计(论文)指导教师成绩评定表
题目名称
评分项目
01 学习态度
02 科学实践、调研
03 课题工作量
04 综合运用知识的能力
05 应用文献的能力
06 设计(实验)能力,方案
的设计能力
07 计算及计算机应用能力
08
09
对计算或实验结果的分析
能力(综合分析能力、技
术经济分析能力)
插图(或图纸)质量、篇
幅、设计(论文)规范化
程度
分
值
得
分
评价内涵
6
7
7
10
5
5
5
10
5
遵守各项纪律,工作刻苦努力,具有良好的科学
工作态度。
通过实验、试验、查阅文献、深入生产实践等渠
道获取与课程设计有关的材料。
按期圆满完成规定的任务,工作量饱满。
能运用所学知识和技能去发现与解决实际问题,
能正确处理实验数据,能对课题进行理论分析,
得出有价值的结论。
能独立查阅相关文献和从事其他调研;能提出并
较好地论述课题的实施方案;有收集、加工各种
信息及获取新知识的能力。
能正确设计实验方案,独立进行装置安装、调试、
操作等实验工作,数据正确、可靠;研究思路清
晰、完整。
具有较强的数据运算与处理能力;能运用计算机
进行资料搜集、加工、处理和辅助设计等。
具有较强的数据收集、分析、处理、综合的能力。
符合本专业相关规范或规定要求;规范化符合本
文件第五条要求。
10 设计说明书(论文)质量 30
综述简练完整,有见解;立论正确,论述充分,
结论严谨合理;实验正确,分析处理科学。
11 创新
10
对前人工作有改进或突破,或有独特见解。
工
作
表
现
20%
能
力
水
平
35%
成
果
质
量
45%
成绩
指
导
教
师
评
语
指导教师签名:
年 月 日
2
攀枝花学院数据结构课程设计
摘 要
21 世纪是个信息化的时代,现代计算机技术的发展,为各行各业的发展创
造了一个全新的时代背景——人们的生活、工作等已经越来越离不开计算机科
学的运用,体育作为个人、家庭、社会的一个主要实践领域,大大小小的运动
会也在各大中院校中展开,自从计算机科学涉及运动领域后,人们对运动会的
管理也从人工的向自动化转变。运用数据结构的知识解决运动会分数统计的问
题,编写一个程序来完成运动会分数统计系统. 本程序设计中,可以输入参加
运动会的学校编号及项目编号;根据具体情况选择输入参加项目的男女类别和
取成绩名次类别;最后选择输入名次。
关键字:运动会,计分系统,数据结构,程序
I
攀枝花学院数据结构课程设计
目 录
摘 要................................................................................................................................................. I
1 概述 ...............................................................................................................................................1
1.1 设计目的............................................................................................................................. 1
1.2 课程设计内容 .................................................................................................................... 1
1.3 相关知识............................................................................................................................. 2
2 系统设计 ...................................................................................................................................... 3
2.1 系统功能要求 ................................................................................................................... 3
2.2.1 主函数............................................................................................................................. 3
2.2.2 数组 ............................................................................................................................... 4
2.2.3 文件的储存................................................................................................................... 5
2.3 程序流程图......................................................................................................................... 5
3 调试与运行................................................................................................................................ 7
3.1 调试结果............................................................................................................................. 7
3.1.1 首先运行文件运动会统计分数 7.exe..................................................................7
3.1.2 输入信息 ................................................................................................................ 8
3.1.3 输出信息 ................................................................................................................. 8
3.1.4 查询信息 ............................................................................................................... 11
3.1.5 调用信息 .............................................................................................................. 11
3.2 调试过程中出现的问题和处理方式............................................................................... 11
4 总结 ............................................................................................................................................ 12
4.1 调试中所遇到的较重要问题的回顾...............................................................................12
4.1.1 提出问题 ............................................................................................................... 12
4.1.2 解决问题 ............................................................................................................... 12
4.1.3 提出问题 ............................................................................................................... 12
4.1.4 分析问题 ............................................................................................................... 12
4.1.5 解决问题 ............................................................................................................... 12
4.1.6 提出问题 ............................................................................................................... 13
4.1.7 分析问题 ............................................................................................................... 13
5.1.8 解决问题 ............................................................................................................... 13
4.2 算法的效率及改进设想................................................................................................... 13
5 心得体会 .................................................................................................................................... 14
附 1....................................................................................................................................................15
参 考 文 献 .................................................................................................................................... 26
II
攀枝花学院数据结构课程设计
1 概述
1.1 设计目的
《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻
辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,
并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计
算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操
作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等
各种领域。
数 据 结 构 课 程 设 计 是 为 数 据 结 构 课 程 独 立 开 设 的 实 践 性 教 学 环
节 。 数 据 结 构 课 程 设 计 对 于 巩 固 数 据 结 构 知 识 , 加 强 学 生 的 实 际 动
手 能 力 和 提 高 学 生 综 合 素 质 是 十 分 必 要 的 。 课 程 设 计 的 目 的 :
1) 要 求 学 生 达 到 熟 练 掌 握 C 语 言 的 基 本 知 识 和 技 能 。
2)了 解 并 掌 握 数 据 结 构 与 算 法 的 设 计 方 法 ,具 备 初 步 的 独 立 分
析 和 设 计 能 力 。
3)提 高 程 序 设 计 和 调 试 能 力 。学 生 通 过 上 机 实 习 ,验 证 自 己 设
计 的 算 法 的 正 确 性 。 学 会 有 效 利 用 基 本 调 试 方 法 , 迅 速 找 出 程 序 代
码 中 的 错 误 并 且 修 改 。
4)培 养 算 法 分 析 能 力 。分 析 所 设 计 算 法 的 时 间 复 杂 度 和 空 间 复
杂 度 , 进 一 步 提 高 程 序 设 计 水 平 。
5) 初 步 掌 握 软 件 开 发 过 程 的 问 题 分 析 、 系 统 设 计 、 程 序 编 码 、
测 试 等 基 本 方 法 和 技 能 。
1.2 课程设计内容
问 题 描 述 : 参 加 运 动 会 有 n 个 学 校 , 学 校 编 号 为 1… … n。 比 赛 分
成 m 个 男 子 项 目 , 和 w 个 女 子 项 目 。 项 目 编 号 为 男 子 1… … m, 女 子
m+1 … … m+w 。 不 同 的 项 目 取 前 五 名 或 前 三 名 积 分 ; 取 前 五 名 的 积 分
分 别 为 : 7、 5、 3 、 2、 1, 前 三 名 的 积 分 分 别 为 : 5、 3、 2; 哪 些 取
前 五 名 或 前 三 名 由 学 生 自 己 设 定 。( m<=20,n<=20 )
功 能 要 求 :
1
攀枝花学院数据结构课程设计
1) 可 以 输 入 各 个 项 目 的 前 三 名 或 前 五 名 的 成 绩 ;
2) 能 统 计 各 学 校 总 分 。
3) 可 以 按 学 校 编 号 或 名 称 、 学 校 总 分 、 男 女 团 体 总 分 排 序 输 出 ;
4) 可 以 按 学 校 编 号 查 询 学 校 某 个 项 目 的 情 况 ; 可 以 按 项 目 编 号
查 询 取 得 前 三 或 前 五 名 的 学 校 。
5) 数 据 存 入 文 件 并 能 随 时 查 询
6) 规 定 : 输 入 数 据 形 式 和 范 围 : 可 以 输 入 学 校 的 名 称 , 运 动 项
目 的 名 称
输 出 形 式 : 有 中 文 提 示 , 各 学 校 分 数 为 整 形
界 面 要 求 : 有 合 理 的 提 示 , 每 个 功 能 可 以 设 立 菜 单 , 根 据 提 示 ,
可 以 完 成 相 关 的 功 能 要 求 。
1.3 相关知识
1)链表的存储用法:是一种物理存储单元上非连续、非顺序的存储结
构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一
系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生
成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存
储下一个结点地址的指针域。
2)文件与结构体存储:结构体是一种复杂的数据类型,结构体类型的定义
只是列出了该结构的组成情况,编译系统并未因此而分配存储空间,当定义了
结构体类型的变量或数组后,编译系统才会分配存储空间
3)栈的出栈用法:堆栈是 RAM 中划出的一片特殊存储区,用于临时存放
一些重要数据(这些数据存放一会后是必须回到原位的),其中数据的位置由堆
栈指针确定,而数据的存放和读取则由入栈指令和出栈指令控制,入出必须对
应成对的使用才能使压入的数据正确的回到压入前的位置。
4)查找方法:顺序查找是一种最基本和最简单的查找方法。它的思路是,
从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直
到两者相符,查到所要找的元素为止。否则就是表中没有要找的元素,查找不
成功。对于表中记录的关键字是无序的表,只能采用这种方法。
存储结构:顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存
储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储
表示称为顺序存储结构。
5)链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点
间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储
2
攀枝花学院数据结构课程设计
结构。 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结
点的地址。 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地
址。
2 系统设计
2.1 系统功能要求
1).可以输入各个项目的前三名或前五名的成绩;
这里需要用到栈的存储用法,链表的存储用法,结构存储。
2).能统计各学校总分
这里就应该采用文件与结构体存储,并处理好关系。
3).可以按学校编号、学校总分、男女团体总分排序输出;
这里要用到的是栈的出栈用法,链表的用法,文件等。
4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前
三或前五名的学校。
而这里要用到的是文件,查找方法,存储结构这三大块。
2.2 数据结构设计
2.2.1 主函数
void
main()
{
int choice;
printf("======================欢迎使用======================\n");
printf("\n\n*****************运动会分数统计系统
********************\n");
printf("\n\n********************1.输入信息
*************************\n");
printf("********************2.输出信息
*************************\n");
printf("********************3.查询信息
*************************\n");
printf("********************4.调用信息
*************************\n");
printf("********************5.退出系统
3