- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE
PAGE5
HarbinInstituteofTechnologyatWeihai
数据结构课程设计报告
设计题目:运动会综合应用系统
院系:计算机科学与技术
班级:0604202
学号:060420201
设计者:吕文泊
哈尔滨工业大学(威海)
二零零八年九月
数据结构课程设计报告
软硬件运行环境
硬件要求:
内存最小为64M,建议使用128M及以上
显示器分辨率最小为800*600,建议分辨率1024*768
CPU主频Pentium(166)或更高
硬盘剩余空间最小1G,建议1G以上
软件要求:
操作系统推荐使用Windows2000,XP或更高版本,也可以在Windows98下运行。,
建议安装PowerBuilder10.0SQLServer2000或更高版本
1项目研究背景与意义
由于运动会以往都是人工报名,人工记录成绩,人工排名,耗费人力,物力,而且出错率较高,不能及时得到排名,拖延了最后闭幕式的召开。研发运动会管理系统,把一些工作交给计算机来做,提高效率,降低出错率。
运动会管理系统的开发工作是由我三人完成的,包括项目需求分析,项目的可行性研究,到具体的系统编程实现,老师提出要求,学生解决问题。本系统经过多次试验运行,收到了良好的效果,大大减轻了人力劳动,降低了出错率,经过事实中发现新问题并得到及时维护。
问题及难点所在
(1)建立工作岗位、录入工作人员,运动员报名表录入,输入记录成绩,生成秩序册等项次关键的多重链表文件
(2)实现设置工作岗位、录入工作人员,运动员报名表录入,输入记录成绩写及录入。
(3)根据不同功能需求显示的参赛人员的不同信息字段。运用同一数据窗口根据选择项目所属田径赛及教职工学生的不同,灵活增删不同字段。
(4)在录入成绩方面可能出现已检录却未能参加比赛等情况,此时需在录入中增加“强制更新为未检录状态选项”。
(5)报名单输入:包括运动员姓名、单位、组别、参赛项目等信息。
(6)报名单审查:报名单输入是难免会有错误的,必须经过审查。在审查之后,如果有错,必须出现提示,给出出错信息,并根据不同的错误,给用户提供不同的修改方法。
(7)运动员编号:运动员编号要求同一单位的同一组别的运动员号码必须连续,不同单位、不同组别可以不连续,也可连续.
(8)径赛分组:按照比赛规则,对各项目的参赛人员进行分组。对于短跑项目,将对各组别各项目的每个小组进行跑道划分;对于长跑项目,只编排运动员比赛序号,并将编排结果直接存入径赛决赛名单。
算法设计的思想(所用到的数据结构)
检录操作主要涉及到数据库信息提取、项目优先顺序设定及打印内容筛选。数据库提取主要是由数据库自动实现。检录则根据检录状态将尚未检录项按线性表遍历排列在首选位置。设有批量设置功能,可以将当前项目人员检录信息提取到数组中,按照要求遍历批量设置所有人员检录状态,并返回到当前显示界面中并仍可进行人工微调。
录入成绩与检录操作基本功能一致。主要难点在于通过模式匹配模拟实现录入成绩格式的规范检查。鉴于各个项目的成绩单位及计法的不同,在数据库中自己拟定存储各项目成绩格式,在程序运行中运用查找的模式匹配检查输入项的格式。重点在于成绩中包含几种常用符号(如逗号,单撇号)及数字的混合,需经检查确定正确后由字符格式转为数字类型存储。
算法的流程图
算法的设计与分析
检录窗口功能说明
自动全部签到
inti
i=dw_chk.rowcount()
intj
forj=1toi
dw_chk.setitem(j,checky_checkup,1)
next
自动分道
stringtpfendao[]
tpfendao=dw_chk.object.checky_checkup.primary
intsort[],i,upper,j
upper=upperbound(tpfendao)
j=0
fori=1toupper
if1=tpfendao[i]then//1表示选择到
j++
sort[j]=i//获得签到的所在行
endif
next
//排序
intsec,temp
fori=1toj
sec=myrand(i,j)
temp=sort[sec]
sort[sec]=sort[i]
sort[i]=temp
dw_chk.
文档评论(0)