




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-?应用系统设计实验?报告实验名称:?VB制作大赛评委智能评分系统?实验地点:财经学院2-1实验室院 系:财经学院管理科学与工程系班 级:10级信息管理与信息系统组 员: 宁 1030502021王 瑞 1030502021奎江蛟 1030502031段竞志 1030502033庚亮 1030502027明瑾 1030502021目录1.引言.32.系统概述.32.1实验名称2.2实验目的2.3实验容2.4实验设备及环境3.系统分析43.1 系统目标分析3.2系统功能分析大赛评委智能评分系统的根本控制功能分析大赛评委智能评分系统的输入分析大赛评委智能评分系统的输入数值的位数分析4.系统设计局部
2、64.1功能构造图设计4.2系统处理流程设计4.3输入输出设计4.4存储文件格式设计4.5程序设计说明书大赛评委智能评分系统的根本控制功能介绍大赛评委智能评分系统的输入介绍大赛评委智能评分系统的本卷须知5.系统实施局部115.1程序框图5.2源程序主要程序代码5.3模拟运行数据6.参考教材及主要参考书176.1参考教材6.2主要参考书7.实验总结188.附表组员分工明细表191.引言应用系统设计实验是一门系统性和实践性都很强的课程,在教学过程中应着重实验环节。通过课程实验可以使学生系统地回忆、整理和稳固所学的书本知识,全面深入地理解教学容。以学生为认知主体,充分调动学生的积极性和主观能动性,重
3、视学生自学能力的培养。通过对实际的应用系统分析、设计、实现和测试一个较完整的过程,提高学生的理论知识运用能力,并锻炼学生的相互协调能力和团队合作精神。在现代化的教学管理中,学生的比赛更加要求向高效,准确,公平化迈进,一个小型且功能齐全的评分系统于是乎就显得必不可少。怎样能快速计算比赛选手的成绩.及时排列出比赛名次?出于这些问题以及该课程带给我们的这次难得的时机,我们开场设计这个?大赛评委智能评分系统?,希望可以利用此系统迅速解决参赛选手成绩的核算与排名。2. 系统概述2.1实验名称?VB制作大赛评委智能评分系统?2.2实验目的1通过自身参与系统分析,实际收集数据、调查分析系统需求,加深对系统设
4、计方法等相关理论知识的理解。2通过对实际问题的系统分析,确定系统目标、系统功能。3通过小组成员之间对自己收集的资料进展总和协调,锻炼团队合作精神。4掌握常用控件的使用,学会使用通用对话框控件进展编程,掌握创立多重窗体程序的有关技术,了解鼠标和键盘事件及事件过程的编写,综合应用了所学知识,加深对VB的理解。5要求掌握: VB可视化编程根底:VB对象的概念,窗体和根本控件。 VB语言根底:数据类型,常量与变量,运算符和表达式,VB程序构造和编码规则。 VB控制构造:顺序构造,选择构造,循环构造 ,辅助控制语句,程序调试。 数组和自定义类型:数组的根本操作,列表框和组合框, 过程:函数过程的定义和调
5、用,子过程的定义和调用,参数传递,过程的嵌套和递归调用,变量的作用域。 用户界面设计:各种控件的应用,以及对话框的应用,菜单设计。2.3实验容1设计一个裁判打分系统,由三名裁判进展打分,选手的最终得分将由这三个分数中去掉一个最高分,再去掉一个最低分后的平均分来决定。2首先对我们想要设计的系统进展系统分析3在VB中添加控件设计大赛评委智能评分系统界面4编写代码5对系统进展运行调试6撰写实验报告2.4实验设备及环境Visual basic 6.0windows*P系统3.系统分析3.1 系统目标分析我们设计的大赛评委智能评分系统目标是实现如下功能:1使得可以智能计算选手成绩2使得可以智能核算每个选
6、手的排名3使得评委可以根据比赛选手数进展打分 4使得评委可以根据不同的比赛规则对选手打分3.2系统功能分析根据工程的目标,我们可获得工程系统的根本功能,以下从三个不同角度来分析系统的功能,即大赛评委智能评分系统的根本控制功能分析,大赛评委智能评分系统的输入分析以及大赛评委智能评分系统的输入数值的位数分析。下面开场分别描述。 大赛评委智能评分系统的根本控制功能分析1界面设计合理,窗体不能改变大小。2程序界面需要有“开场打分、“全部去除、“退出等功能。3“去除按钮可以将所有裁判分数、最高分、最低分及最后得分去除。4“退出按钮可以退出程序。大赛评委智能评分系统的输入分析1因选手人数在不同比赛中不同,
7、所以应考虑可以自行输入选手人数。2因比赛评委人数在不同比赛中不同,所以应考虑可以自行输入评委人数。大赛评委智能评分系统的输入数值的位数分析1文本框限制最多输入4个字符2每一个评委分数应限制在4位以3评委必须要三人或三人以上,如果缺乏3人,则消息框应提示评委人数必须为大于或等于3的整数,并请重新输入。4程序运行时由用户输入每个评委的分数,单击“开场打分 按钮时显示最高分、最低分及最后得分,显示结果要求保存2位小数应用format函数。当文本框中有一个以上没输入数字时,单击按钮时会提示评委没有打分。4.系统设计局部4.1功能构造图设计进入系统评委打分比赛结果设计单位比赛轮数选手编号最低分设置最高分
8、本轮总分选手个数设置评委人数设置打分方式设置比赛论数设置消息框退出4.2系统处理流程设计进入系统输入选手个数退出输入选手人数输入比赛论数选择打分方式开场打分录入选手分数打分结果全部清空4.3输入输出设计输入:输出:4.4存储文件格式设计Visual Basic程序设计默认程序FRM格式4.5程序设计说明书4.51大赛评委智能评分系统的根本控制功能介绍开场参赛选手打分清空以前的打分记录,从新打分退出程序4.52大赛评委智能评分系统的输入介绍选择选手个数、评委人数、比赛轮数以及打分方式进展输入在打分的过程中,“比赛轮数、“选手编号、“最高分、“最低分、“本轮总分控件显示的是正在为哪位选手打分、最高
9、分以及最低分分别是多少。大赛评委智能评分系统的本卷须知(1)本大赛评委智能评分系统有三种打分方法:1、一直打分到比赛完毕2、一个选手一个选手的打分3、一轮一轮的打分你可以选择自己喜欢的打分方法为选手打分,用以做到完全的智能化打分。(2)评委至少为三位5.系统实施局部5.1程序框图5.2源程序主要程序代码Private Sub mand2_Click()Label10.Caption = "Te*t4 = "Te*t5 = "Te*t6 = "Te*t8 = "Te*t9 = "Set rs = New ADODB.RecordsetS
10、et Me.DataGrid1.DataSource = rsDataGrid1.RefreshIf Te*t1.Te*t = " Then Label10.Caption = "选手个数不能为空,请重新输入!" Te*t1.SetFocus E*it SubEnd IfIf IsNumeric(Trim(Te*t1.Te*t) Then If Int(Trim(Te*t1.Te*t) <> CDbl(Te*t1.Te*t) Or Int(Trim(Te*t1.Te*t) <= 0 Then Label10.Caption = "选手个
11、数必须为大于零整数,请重新输入!" Te*t1.SetFocus E*it Sub End IfElse Label10.Caption = "选手个数必须为大于零整数,请重新输入!" Te*t1.SetFocus E*it SubEnd IfIf Te*t2.Te*t = " Then Label10.Caption = "评委人数不能为空,请重新输入!" Te*t2.SetFocus E*it SubEnd IfIf IsNumeric(Trim(Te*t2.Te*t) Then If Int(Trim(Te*t2.Te*t) &
12、lt;> CDbl(Te*t2.Te*t) Or Int(Trim(Te*t2.Te*t) <= 2 Then Label10.Caption = "评委人数必须为大于2零整数,请重新输入!" Te*t2.SetFocus E*it Sub End IfElse Label10.Caption = "评委人数必须为大于零整数,请重新输入!" Te*t2.SetFocus E*it SubEnd IfIf Te*t3.Te*t = " Then Label10.Caption = "比赛轮数不能为空,请重新输入!"
13、 Te*t3.SetFocus E*it SubEnd IfIf IsNumeric(Trim(Te*t3.Te*t) Then If Int(Trim(Te*t3.Te*t) <> CDbl(Te*t3.Te*t) Or Int(Trim(Te*t3.Te*t) <= 0 Then Label10.Caption = "比赛轮数必须为大于零整数,请重新输入!" Te*t3.SetFocus E*it Sub End IfElse Label10.Caption = "比赛轮数必须为大于零整数,请重新输入!" Te*t3.SetFocu
14、s E*it SubEnd If*sum = Int(Trim(Te*t1.Te*t)psum = Int(Trim(Te*t2.Te*t)lsum = Int(Te*t3.Te*t)Dim temp As StringDim fsum(1 To 100) As IntegerIf bo1.Te*t = "一直打分到比赛完毕" Then For i = 1 To lsum Te*t8.Te*t = i For j = 1 To *sum Te*t9.Te*t = j fen(i, j) = 0 For k = 1 To psumdafen: temp = InputBo*(
15、"请输入第" & k & "位评委对" & j & "号选手的打分", "第" & i & "轮比赛") If IsNumeric(temp) Then If Int(temp) <> CDbl(temp) Or Int(Trim(Te*t3.Te*t) <= 0 Then MsgBo* "请输入正确的评委打分", , "输入错误" GoTo dafen End If Else MsgBo*
16、 "请输入正确的评委打分", , "输入错误" GoTo dafen End If If k = 1 Then fma* = Int(temp) fmin = Int(temp) End If fen(i, j) = fen(i, j) + Int(temp) If fma* < Int(temp) Then fma* = Int(temp) End If If fmin > Int(temp) Then fmin = Int(temp) End If Te*t4.Te*t = fma* Te*t5.Te*t = fmin List1.Add
17、Item "第" & k & "位评委第" & i & "轮为第" & j & "号选手打分为:" & temp Ne*t k fen(i, j) = fen(i, j) - fma* - fmin Te*t6.Te*t = fen(i, j) Ne*t j Ne*t iElseIf bo1 = "一个选手一个选手的打分" Then mand2.Caption = "继续打分" If *s = 0 Then ls = 1
18、 *s = 1 End If Te*t8.Te*t = ls Te*t9.Te*t = *s fen(ls, *s) = 0 For k = 1 To psumdafen1: temp = InputBo*("请输入第" & k & "位评委对" & *s & "号选手的打分", "第" & ls & "轮比赛") If IsNumeric(temp) Then If Int(temp) <> CDbl(temp) Or Int(Tri
19、m(Te*t3.Te*t) <= 0 Then MsgBo* "请输入正确的评委打分", , "输入错误" GoTo dafen1 End If Else MsgBo* "请输入正确的评委打分", , "输入错误" GoTo dafen1 End If If k = 1 Then fma* = Int(temp) fmin = Int(temp) End If fen(ls, *s) = fen(ls, *s) + Int(temp) If fma* < Int(temp) Then fma* = In
20、t(temp) End If If fmin > Int(temp) Then fmin = Int(temp) End If Te*t4.Te*t = fma* Te*t5.Te*t = fmin List1.AddItem "第" & k & "位评委第" & ls & "轮为第" & *s & "号选手打分为:" & temp Ne*t k fen(ls, *s) = fen(ls, *s) - fma* - fmin Te*t6.Te*t = f
21、en(ls, *s) If ls = lsum And *s = *sum Then ElseIf *s = *sum Then *s = 1 ls = ls + 1 E*it Sub Else *s = *s + 1 E*it Sub End IfElse mand2.Caption = "继续打分" If ls = 0 Then ls = 1 End If Te*t8.Te*t = ls For j = 1 To *sum Te*t9.Te*t = j fen(ls, j) = 0 For k = 1 To psumdafen2: temp = InputBo*(&qu
22、ot;请输入第" & k & "位评委对" & j & "号选手的打分", "第" & ls & "轮比赛") If IsNumeric(temp) Then If Int(temp) <> CDbl(temp) Or Int(Trim(Te*t3.Te*t) <= 0 Then MsgBo* "请输入正确的评委打分", , "输入错误" GoTo dafen2 End If Else MsgBo*
23、"请输入正确的评委打分", , "输入错误" GoTo dafen2 End If If k = 1 Then fma* = Int(temp) fmin = Int(temp) End If fen(ls, j) = fen(ls, j) + Int(temp) If fma* < Int(temp) Then fma* = Int(temp) End If If fmin > Int(temp) Then fmin = Int(temp) End If Te*t4.Te*t = fma* Te*t5.Te*t = fmin List1.A
24、ddItem "第" & k & "位评委第" & ls & "轮为第" & j & "号选手打分为:" & temp Ne*t k fen(ls, j) = fen(ls, j) - fma* - fmin Te*t6.Te*t = fen(ls, j) Ne*t j If ls = lsum Then Else ls = ls + 1 E*it Sub End IfEnd IfFor i = 1 To *sum fsum(i) = 0 For j = 1
25、To lsum fsum(i) = fsum(i) + fen(j, i) Ne*t jNe*t iDim *num(100) As IntegerDim *fsum(100) As IntegerFor i = 1 To *sum k = 1 For j = 2 To *sum If fsum(j) > fsum(k) Then k = j End If Ne*t j *num(i) = k *fsum(i) = fsum(k) fsum(k) = 0Ne*t iSet rs = New ADODB.Recordsetrs.Fields.Append "排名", adBigInt, 50rs.Fields.Append "选手编号", adBigInt, 50rs.Fields.Append "最后得分", adBigInt, 50rs.OpenFor i = 1 To *sum rs.AddNew rs.Fields("排名") = i rs.Fields("选手编号") = *num(i) rs.Fields("最后得分") = *fsu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设施农种植管理办法
- 规范生物质管理办法
- 中华寿桃病虫管理办法
- 装修人员平台管理办法
- 《流动资金管理办法》
- 装修预算公司管理办法
- 中山公园摆摊管理办法
- 2025年环形磁体合作协议书
- 老虎潭水库管理办法
- 《医学装备管理办法》
- 《资本论》解读课件
- 【讲座培训】《中小学教育惩戒规则(试行)》解读课件
- 糖尿病酮症酸中毒指南精读
- 建设单位向施工企业施工安全交底
- 2022年二级建造师机电继续教育考试题库及完整答案1套
- T∕ZZB 2783-2022 路面标线涂料用氢化石油树脂
- 《机械知识》(第六版)电子教案(全)完整版课件整套教学课件
- 政府会计制度应用课件
- 道德与法治教学课件《我的家庭贡献与责任》教学课件(21p)
- 五年级上册美术教学计划
- 有色金属贵金属冶金
评论
0/150
提交评论