(精品)成绩计算系统(2013年优秀毕业设计)_第1页
(精品)成绩计算系统(2013年优秀毕业设计)_第2页
(精品)成绩计算系统(2013年优秀毕业设计)_第3页
(精品)成绩计算系统(2013年优秀毕业设计)_第4页
(精品)成绩计算系统(2013年优秀毕业设计)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江 苏 广 播 电 视 大 学毕 业 设 计 报 告题 目 成 绩 计 算 系 统 教学点名称 大丰广播电视大学 学 号: 03209020059 专 业: 计算机科学与技术 层次 大专 姓 名: 田素华 指导教师: 刘同胜 职称 讲 师 指导小组组长: 职称 二五年十一月成绩计算系统【摘要】处理考试成绩是每个学校在教学管理中不可缺少的一项重要工作,每次考试都有大量的成绩需要处理。考试成绩的处理一直是教学管理的一项重要内容,大部分学校都是采用人工处理的方法来管理考试成绩。这种方法不但效率低,而且在准确性等方面都存在问题。本系统基于光电阅卷机提供的原始数据,实现了成绩数据的录入,主观试卷成绩和客观题成绩的相加整理。该系统能将教师从繁重的重复性劳动中解放出来,从而提高了教学效率。最重要的是,本系统能够对成绩进行离均差、平均分、高分段平均分等处理,从而有效地分析学生成绩的整体情况,具有很好的实用价值。本成绩计算系统,包含了计算离均差、大平均分、高分段平均分3个主要功能。其中离均差是运用方差分析的方法处理学生的成绩,得出各个班整体的效果;大平均分是将所有参考学生的成绩平均,了解学生的平均水平;高分段平均分是按照给定的分数线计算该分数线以上的平均分。 在该系统中采用了Visual Foxpro强大的数据库管理功能,简化了数据管理的复杂性,对开初学者而言,Visual Foxpro6.0中提供了大量的系统开发工具和向导工具,使以往费时费力的开发工作变得轻松自如。这些可视化的设计工具免除了开发者编写大量程序代码的工作,甚至在不需要学习很多Visual Foxpro的命令或函数的情况下,也能设计出功能较完善的数据库应用系统来。总之,Visual Foxpro6.0确实是一个值得学习掌握的软件。目 录摘要11、 第一章系统设计与分析.31.1管理信息系统概述31.2系统功能分析42、 第二章数据库设计.73、第三章设计主程序.114、第四章设计主界面模块.115、第五章设计输入数据模块.126、第六章设计整理数据.187、第七章设计离均差模块.228、第八章设计高分段平均分.459、第九章设计大平均分.5110、第十章设计设置高分段.5611、第十一章系统测试.5812、第十二章小结.58参考文献.60成绩计算系统的开发与实现大丰市供电局 田素华第一章 系统设计与分析1.1管理信息系统概述20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。20世纪50年代,西蒙提出管理依赖于信息和决策的思想。同时期的维纳发表了控制论,他认为管理是一个控制过程。1958年,盖尔写到:“管理将以较低的成本得到及时准确的信息,做到较好的控制”。这个时期,计算机开始用于会计工作。数据处理一词已经出现。1970年,Walter T.Kennevan给刚刚出现的管理信息系统一词下了一个定义:“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策”。在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。1985年,管理信息系统的创始人,明尼苏达大学的管理学教授Gordon B.Davis给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平。1.2系统功能分析 成绩处理系统的目的是客观的评价学生的成绩,为以后改良教学方法提供依据,这就要嫠分析的结果准确、客观、全面。对于单科成绩,需要了解该科的平均人、最高分以及与其他班级的差距。为此,该系统设计了输入数据、离均差、大平均分、高分段平均分几个功能模块,以及数据整理和设置高分段两个辅助功能,结构图如图1所示。设置高分段大平均分高分平均分离均差输入数据成绩管理系统 整理数据 图1 功能分析图确定了系统的功能,即可设计系统的功能模块。针对以上功能要求,分别设计GFD_SHR、SELECT_CLASS、ZHL、SHOW_LJC、SHOW_DPJ、SHOW_GFD表单,其组织结构如图2所示。MAINSHOW_GFDGFD_SHRSHOW_DPJSELECT_CLASSASSCLASSSHOW_LJCZHL 图2 程序结构图运行程序时,弹出MAIN表单,在该表单上放置了6个功能项,单击其中某个按钮,程序将按照规定的方法处理数据,最后将处理的结果展示给用户以便查询,用户确认无误后,单击显示界面上的“打印”按钮系统将打印出处理的结果。下面详细介绍各个模块的功能以及详细设计。(1) 输入数据试卷采用主观和客观两种方式的试题,客观试题采用自动阅卷机收集成绩,而主观试题只能人工来评阅。在系统中提供了输入主观试题成绩的功能。(2) 整理数据在学生的成绩库中每个学生的成绩由成绩1和成绩2两部分组成。成绩1由阅卷机生成,又称为客观成绩;成绩2由教师以手工的方式评阅出来的,又称为主观成绩,通过输入数据模块输入到成绩库中,所以对成绩进行分析前要将两部分成绩合在一起,得出该生的该科成绩,以上就是整理数据模块的功能。(3) 离均差在处理离均差的过程中用到一个P值,这是一个班级一科成绩的总体效果。利用该值计算出离均差、可以离均差、起始离均差、离均差涨幅等多项数据。所有上述处理过程都是在离均差功能模块中实现的。(4) 大平均分计算平均分是成绩处理中典型的数据处理方法,通过处理的结果可以得到成绩的总体水平,计算的方法也比较简单,即将所有的成绩求得一个平均值,存放在DPJ.DBF表中。(5) 高分段平均分在高考中评价一个学校的标准之一就是该学校达到一定分线的人数,以及这些学生的平均分情况,上述的一定分数线称为高分段,对超过该分数段的成绩的平均成绩叫做高分段平均分,该数据显示了优秀学生的平均情况。计算的方法为将等于或者超过高分段的成绩平均,得到的数值即为高分段,并将其存放在LKGF.DBF表中。(6) 设置高分段 考试结束后参考以前考试的效果,人为地规定出本次考试的理科和文科的高分段。设置高分段分数功能模块将接受用户的输入,并将分数存放在DMD_G.DBF表中。 第二章 数据库设计在设计数据库前,要对Visual Foxpro使用有数据库有一定的了解,其中最为重要的是自由表,所谓自由表就是不与数据库关联的二维表。在系统中共设计了如下数据库。(1) 学生成绩表 此数据库存储的是光电阅卷机提供的原始成绩,即成绩要处理的数据,根据参考班级的数量,有相应数量的数据库,其中主文件名中后3位是相应的班级名称。高中分为文科和理科两大类班级,每一类设置的考试科目是不相同的,所以有两个数据库结构。理科班级的考试科目有数学、英语、语文、理科综合、物理、化学、生物,其结果如表1所示,表文件的名称以CJG*.DBF表示,其中*代表了具体的班级,如CJG301.DBF代表了301班级的成绩。表1 学生成绩表结构(理科)编号字段名字段类型字段长度小数位数作用1KSH字符型9无考生考号2XM字符型8无考生的姓名3ZF数值型51总分4DW字符型10无考试学校名称5YW数值型51语文总分6YW1数值型51语文卷一成绩7YW2数值型51语文卷二成绩8SX数值型51数学总分9SX1数值型51数学卷一成绩10SX2数值型51数学卷二成绩11YY数值型51英语总分12YY1数值型51英语卷一成绩13YY2数值型51英语卷二成绩14ZH数值型51综合成绩15WL数值型51物理总分16WL1数值型51物理卷一成绩17WL2数值型51物理卷二成绩18HX数值型51化学总分19HX1数值型51化学卷一成绩20HX2数值型51化学卷二成绩21SW数值型51生物成绩22SW1数值型51生物卷一成绩23SW2数值型51生物卷二成绩高中教学中理科班与文科班的所学科目是不同的,文科考试的科目为数学、英语、语文、综合、政治、历史、地理。文科班的数据库结构如表2所示。表2 学生成绩表结构(文科)编号字段名字段类型字段长度小数位数作用1KSH字符型9无考生考号2XM字符型8无考生的姓名3ZF数值型51总分4DW字符型10无考试学校名称5YW数值型51语文总分6YW1数值型51语文卷一成绩7YW2数值型51语文卷二成绩8SX数值型51数学总分9SX1数值型51数学卷一成绩10SX2数值型51数学卷二成绩11YY数值型51英语总分12YY1数值型51英语卷一成绩13YY2数值型51英语卷二成绩14ZH数值型51综合成绩15ZZ数值型51政治成绩16ZZ1数值型51政治卷一成绩17ZZ2数值型51政治卷二成绩18LS数值型51历史总分19LS1数值型51历史卷一成绩LS2数值型51历史卷二成绩21DL数值型51地理成绩22DL1数值型51地理卷一成绩23DL2数值型51地理卷二成绩(2)离均差表 离均差表示了班级单科成绩间的总体差距,相对平均分来说更能反应出整体的情况。在评价班级的单科成绩时,要全面考虑到高中低3个层次的分数,并且要有侧重点地加大某一个分数段的权重,只有这样才能准确地分析出该科成绩的总体效果。类似的平均分也是反应总体效果的一个参数,但是平均分不能反应出各个层次的水平,得到的结果是不完整的。相比之下,使用离均差来分析考试成绩是科学的、客观的。所有的班级的离均差信息都存放在LJC.DBF信息库中,一个班级的一科占据一条记录。该表的数据结构如表3所示。 表3 离均差表编号字段名字段类型字段长度小数位数作用1BJ字符型30无班级名称2KM字符型10无科目名称3RK字符型10无任课教师姓名4PZH数值型102PZH值5LJC数值型102离均差6KBLJC数值型102可比离均差7QSHLJC数值型102起始离均差8LJCZHF数值型102离均差的涨幅(3)大平均表对于参加考试的班级都要计算平均分,存储在DPJBB.DBFKH,其数据库结构如表4所示。表4 大平均分编号字段名字段类型字段长度小数位数作用1BJ字符型20无班级名称2KM字符型10无科目名称3RK字符型10无任课教师姓名4PZH数值型102平均分高分段平均分存储在LKGFBB.DBF中,其表的数据库结构与大平均表的数据库结构相同,不再重复。(4)教师信息库 在计算中要用到教师的任课情况,所有的相关信息存储在TEACHER.DBF中,表的结构如表5所示。 表5 教师信息库编号字段名字段类型字段长度小数位数作用1NAME字符型30无班级名称2KM字符型10无科目名称3T_NAME字符型10无任课教师姓名(5)高分段表 在计算高分段平均分时需要用到文理科的高分段,该分数是人为规定的,存储在DMD_G.DBF表中,其表的结构如表6所示。 表6 高分段表编号字段名字段类型字段长度小数位数作用1CHJ1数值型102理科高分段2CHJ2数值型102文科高分段(6)系数信息库计算离均差数据中的离均差的涨幅时,需要将本次的离均差和第一次考试离均差做一个比较,这样就需要用表XSH.DBF保存第一次考试的离均差,其结构如表7所示。表7 系统信息库编号字段名字段类型字段长度小数位数作用1XM字符型10无班级类别2KM字符型10无科目名称3DI数字型102第一次考试的离均差4BEN数字型102本次考试的离异均差 第三章 设计主程序程序在运行期间要使用部分变量来传递数据,这些变量都是在主程序定义的。打开Visual FoxPro程序,进入设计界面,然后新建一个项目文件,以“成绩计算”命名保存,打开该项目的管理器,在管理器的“代码”选项卡中添加一个名为“MAIN”的代码文件,并在“MIAN”代码文件窗口中添加如下代码:CLOSE ALLCLEAR ALLCLEARSET TALK OFFSET DELETED ON_SCREEN.CAPTION=计算_SCREEN.WINDOWSTATE=2DO FORM MAINRETURN第四章 设计主界面模块主界面是操作者选择功能的主要方式,在设计上力求简单快捷。由于该系统的功能比较单一,因此采用了按钮的方式,如果系统的功能比较多建议采用菜单的方式,可以使界面简洁。在项目管理器中添加一个表单,命名为“MAIN”,Caption属性设置为“成绩分析”,使用“表单控件”工具栏在表单上添加一个CommandGroup控件,利用同样的方法在该表单上添加另外2个CommandGroup控件,接下来添加利用“表单控件”工具箱在表单中添加7个Command控件完成具体的功能,1个Lable控件显示标题信息。属性设置如表8所示。表8 属性设置编号名称类型属性名称属性值1CommandGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03CommandGroup3CommandGroupButtonCount04Lable1Lablecaption成绩计算系统5Command1Commandcaption输入数据6Command2Commandcaption离均差7Command3Commandcaption整理数据8Command4Commandcaption高分段平均分9Command5Commandcaption大平均分10Command6Commandcaption设置高分段11Command7Commandcaption退出完成设计后的界面如图3所示。图3 设计主界面 第五章 设计输入数据模块在实际的考试中,考生的成绩由主观成绩和客观成绩两部分组成。所以在系统中提供了输入主观成绩的界面,即输入数据模块。为了能在主界面中方便地调用输入模块,需要在主界面Comand1控件中的click行为中添加如下代码:DO FORM SELECT_CLASS1、选择班级模块在输入数据前应该先选择所要输入的班级,为此设计了选择班级的界面。在项目管理器中新建一表单,命名为“SELECT-CLASS”,将caption属性设置为“班级选择”,并添加2个CommandGroup控件分隔显示界面、1个Image控件用来插入背景图片、1个Combo控件供用户选择班级、2个Command控件完成控制功能,上述控件的主要属性设置如表9所示表9 属性设置编号名称类型属性名称属性设置1CommandGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03Image1ImagePicture20041119277.jpg4Combo1ComboRowSourceType RowSource1- 值cjg301,cjg302,cjg303,cjg304,cjg305,cjg3065Command1CommadCaption选择6Command2CommandCaption返回 设计完成后的界面如图4所示。 图4 选择班级界面系统运行时允许用户选择所要输入成绩的班级,并根据用户的选择打开相应班级的成绩单供用户修改,为此在Command1控件的Click行为中添加如下代码:*选择要输入的班级,然后输入该班的成绩FILE_NAME=ALLTRIM(THISFORM.COMBO1.VALUE)DO CASECASE FILE_NAME=cjg301 FILE_SHOW=SHOWLKCASE FILE_NAME=cjg302 FILE_SHOW=SHOWLKCASE FILE_NAME=cjg303 FILE_SHOW=SHOWLKCASE FILE_NAME=cjg304 FILE_SHOW=SHOWWKCASE FILE_NAME=cjg305 FILE_SHOW=SHOWWKCASE FILE_NAME=cjg306 FILE_SHOW=SHOWWK ENDCASEUSE &FILE_SHOWDELETE ALLPACKAPPEND FROM &FILE_NAMECLOSE ALLUSE FIE_NAMEREPLACE FILE_N WITH FILE_NAMEUSEDO CASECASE FILE_SHOW=SHOWLK DO FORM XGLKCASE FILE_SHOW=SHOWWK DO FORM XGWKENDCASE 在上述代码中使用了一个SHOW.DBF表,用来临时保存用户的数据。同时用一个全局变量SHOW_FILE_NAME保存用户选择的班级名称。 2、设计输入学生成绩表单(XG表单)在SELECT-CLASS表单中要调用一个修改学生成绩的表单,下面就介绍一下设计过程。 在项目管理器中新建一个表单,命名为“XG”,并将该表的Caption属性设置为“输入数据”。下面为该表单设置数据环境,用鼠标右键在表单的空白处单击,在弹出的快捷菜单中选择“数据环境”命令,将打开“数据环境设计器”窗口,如图5所示。图5 数据环境设计器接下来将SHOW.DBF数据表添加到数据环境中,用鼠标右键在设计器的空白处单击,选择弹出的快捷菜单中的“添加”命令,在如图6所示对话框中选择SHOW.DB表文件。通过数据环境中的表可以实现多种功能,如下面将用数据环境中的表建立一个Gril控件,采用这种方法极为简单,只需要将选择的表文件拖放到表单中即可以创建一个Gril控件,如图8所示。 在此Gril控件中可以任意修改学生的成绩,十分方便。采用这种方法创建的Gril控件已经将数据源等多种属性设置完成了,开发人员不必去重新设计,而且在表单执行中将将自动打开与之关联的数据库,表单卸载时自动关闭数据库,同时将用户修改的结果保存到数据库中。为了将修改的结果保存到相应的班级成绩表中,在该表单上添加10个Command控件,命名为Command1,并将Caption属性设置为“确定”,如图8所示。图8 添加Command控件在Command1控件的Click行为代码窗口中添加如下代码,将修改的结果保存到相应的班级成绩表中,其中SHOW_FILE_NAME为用户选择修改的班级成绩库文件名。*将用户修改的数据保存到选择的班级成绩表中USE &SHOW_FILE_NAMEDELETE ALLPACK*将修改的结果保存到选择的班级文件中APPEND FROM SHOW.DBFTHISFORM.RELEASE*退出修改表单CLOSE ALL至此输入数据模块的所用功能设计就全部完成了。 第六章 设计整理数据在系统中处理的学生成绩一部分是由自动阅卷机产生的,另外一部分由人工输入的,再由这两部分数据合成其他的相关数据,数据整理的目的就是完成上述功能。在“MAIN”表单的Command3控件的Click行为窗口中输入如下代码:& 计算6个班的大平均分CLOSE ALLCLEAR MEMORY SET TALK OFFUSE DPJ.DBFDELETE ALLPACKUSEUSE DPJBB.DBFDELETE ALLPACKUSEFOR I=1 TO 3 DO CASECASE I=1BJ_NAME=CJG301.DBFBJ_MCH=高三(1)班CASE I=2BJ_NAME=CJG302.DBFBJ_MCH=高三(2)班CASE I=3BJ_NAME=CJG303.DBFBJ_MCH=高三(3)班ENDCASEFOR J=1 TO 6 &计算一个班中的六科成绩的平均分DO CASECASE J=1KM_NAME=语文KM_DAIMA=YWCASE J=2KM_NAME=数学KM_DAIMA=SXCASE J=3KM_NAME=英语KM_DAIMA=YYCASE J=4KM_NAME=物理KM_DAIMA=WLCASE J=5KM_NAME=化学KM_DAIMA=HXCASE J=6 KM_NAME=生物KM_DAIMA=SWENDCASEUSE &BJ_NAME &打开相应的班级库文件AVERAGE &KM_DAIMA TO DKPJF &计算单科平均分USEUSE TEACHER.DBFLOCATE FOR NAME=&BJ_MCH .AND. KM=&KM_NAMERKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJFUSEENDFORENDFOR& 文科的大平均分 & 46FOR I=4 TO 6 DO CASECASE I=4BJ_NAME=CJG304.DBFBJ_MCH=高三(4)班CASE I=5BJ_NAME=CJG305.DBFBJ_MCH=高三(5)班CASE I=6BJ_NAME=CJG306.DBFBJ_MCH=高三(6)班ENDCASEFOR J=1 TO 6 &计算一个班中的六科成绩的平均分DO CASECASE J=1KM_NAME=语文KM_DAIMA=YWCASE J=2KM_NAME=数学KM_DAIMA=SXCASE J=3KM_NAME=英语KM_DAIMA=YYCASE J=4KM_NAME=政治KM_DAIMA=ZZCASE J=5KM_NAME=历史KM_DAIMA=LSCASE J=6 KM_NAME=地理KM_DAIMA=DLENDCASEUSE &BJ_NAME &打开相应的班级库文件AVERAGE &KM_DAIMA TO DKPJF &计算单科平均分USEUSE TEACHER.DBFLOCATE FOR NAME=&BJ_MCH .AND. KM=&KM_NAMERKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJFUSEENDFORENDFORFOR I=1 TO 9DO CASE CASE I=1KM_DAIMA=语文CASE I=2KM_DAIMA=数学CASE I=3KM_DAIMA=英语CASE I=4KM_DAIMA=物理CASE I=5KM_DAIMA=化学CASE I=6KM_DAIMA=生物CASE I=7KM_DAIMA=政治CASE I=8KM_DAIMA=历史CASE I=9KM_DAIMA=地理ENDCASEUSE DPJBB.DBFAPPEND FROM DPJ.DBF FOR KM=&KM_DAIMAUSEENDFORMESSAGEBOX(数据处理完毕!)DO FORM SHOW_DPJ 执行上面的代码计算每个学生的卷一、卷二以及总分成绩,整理完毕提供给后面的处理使用。 第七章 设计离均差模块1、代码设计在处理离均差前首先要计算出每班每科的P值,计算过程是首先分别将一个班级的单科成绩降序排列,然后将该成绩序列分成3个阶段,每个分数段的起始点事人为规定的,其次计算出每个分数段的平均分,最后将3个分数段的平均分乘以一个系数,将得到的结果相加得到的就是P值,接下来处理系数、可比离均差、离均差涨幅等多项数据。上述功能的实现放在了主界面中,即MAIN表单中的Command2控件的Click行为窗口中,用鼠标双击该控件,打开Click行为窗口,添加实现功能的代码。(1) 初始化表在程序运行的开始将LJC.DBF表进行初始化,清除上次计算的结果,代码设计如下:SET TALK OFFCLOSE ALLUSE LJC.DBF &清空离均差表REPLACE ALL PZH WITH 0REPLACE LJC WITH 0USE(2) 计算P值下面计算P值,该值是离均差处理中的一个重要的数据,在以后的计算中要重复使用,计算的方法为:将某个班的单科成绩存放在一个数组中,所有的成绩降序排列,排序的方法采用了效率较高的冒泡排序法。然后将排好序的成绩分成3个分数阶段,开发分数段的取值范围越大则表明对P值影响越大,具体的分数段取值范围读者可以根据需要来确定。P值可以使用下面的公式计算出来:P=第一个分数段的平均分*0.5+第二个分数段的平均分*0.35+第三个分数段的平均分*0.15公式中每个分数段平均分乘以的权重是根据需要确定的,用户可以自行修改。计算出来的P值存放在LJC.DBF数据表,代码如下:ABC=1FOR I1=1 TO 3 &依次处理13班的成绩DO CASE &选择班级名称,并且存储班名,共3个CASE I1=1BJ_NAME=CJG301.DBFBJ_MCH=高三(1)班CASE I1=2BJ_NAME=CJG302.DBFBJ_MCH=高三(2)班CASE I1=3BJ_NAME=CJG303.DBFBJ_MCH=高三(3)班ENDCASEFOR I=1 TO 6 &处理各班数据,每个共理科,理班为:语文、数学、英语、物理、化学、生物DO CASECASE I=1 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1 KM_MCH=语文 FOR J=1 TO K &传递给数组TEMP(J)=YWSKIPENDFORCASE I=2 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT() DECLARE TEMP(K+1) GOTO 1 KM_MCH=数学 J=1 FOR J=1 TO K &传递给数组TEMP(J)=SXSKIPENDFORCASE I=3 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1KM_MCH=英语 J=1FOR J=1 TO K &传递给数组TEMP(J)=YYSKIPENDFORCASE I=4 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1KM_MCH=物理 J=1FOR J=1 TO K &传递给数组TEMP(J)=WLSKIPENDFORCASE I=5 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1KM_MCH=化学 J=1FOR J=1 TO K &传递给数组TEMP(J)=HXSKIPENDFORCASE I=6 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1KM_MCH=生物 J=1FOR J=1 TO K &传递给数组TEMP(J)=SWSKIPENDFORENDCASE&下面的操作是进行排序操作M=0N=0Y=0 &指针变量X=0 &中间变量FOR M=2 TO KIF TEMP(M)TEMP(M-1)N=M-1X=TEMP(M)DO WHILE XTEMP(N)TEMP(N+1)=TEMP(N)N=N-1IF N=0 EXITENDIFENDDOTEMP(N+1)=XENDIFENDFOR&排序完毕ZH1=0ZH2=0ZH3=0&计算离均差FOR M=1 TO 1ZH1=ZH1+TEMP(M)ENDFORFOR M=2 TO 2ZH2=ZH2+TEMP(M)ENDFORFOR M=3 TO 3ZH3=ZH3+TEMP(M)IF EOF()EXITENDIFENDFORP=(ZH1/1)*0.5+(ZH2/1)*0.35+(ZH3/1)*0.15CLOSE ALLUSE TEACHER &查找任课教师姓名LOCATE FOR NAME=BJ_MCH .AND.KM=KM_MCHKR_TEACHER=TEACHER.T_NAMEUSEUSE LJC.DBF &填写离均差表GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P,LJC.KM WITH KM_MCH,LJC.RK WITH KR_TEACHERABC=ABC+1CLOSE ALLENDFORENDFOR&处理文科成绩FOR I1=4 TO 6 DO CASE &选择班级名称CASE I1=4BJ_NAME=CJG304BJ_MCH=高三(4)班CASE I1=5BJ_NAME=CJG305BJ_MCH=高三(5)班CASE I1=6BJ_NAME=CJG306BJ_MCH=高三(6)班ENDCASEFOR I=1 TO 6 &处理各班数据DO CASECASE I=1 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K+1)GOTO 1KM_MCH=语文J=1FOR J=1 TO KTEMP(J)=YWSKIPENDFORCASE I=2 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K)GOTO 1KM_MCH=数学J=1FOR J=1 TO KTEMP(J)=SXSKIPENDFORCASE I=3 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K)GOTO 1KM_MCH=英语J=1FOR J=1 TO KTEMP(J)=YYSKIPENDFORCASE I=4 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K)GOTO 1KM_MCH=历史J=1FOR J=1 TO KTEMP(J)=LSSKIPENDFORCASE I=5 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K)GOTO 1KM_MCH=政治J=1FOR J=1 TO KTEMP(J)=ZZSKIPENDFORCASE I=6 &处理一个班的成绩USE &BJ_NAME &打开数据库K=RECCOUNT()DECLARE TEMP(K)GOTO 1KM_MCH=地理J=1FOR J=1 TO KTEMP(J)=DLSKIPENDFORendcase&下面的操作是进行排序操作M=0N=0Y=0 &指针变量X=0 &中间变量FOR M=2 TO KIF TEMP(M)TEMP(M-1)N=M-1X=TEMP(M)DO WHILE XTEMP(N)TEMP(N+1)=TEMP(N)N=N-1IF N=0 EXITENDIFENDDOTEMP(N+1)=XENDIFENDFOR&排序完毕ZH1=0ZH2=0ZH3=0&计算离均差FOR M=1 TO 1 ZH1=ZH1+TEMP(M)ENDFORFOR M=2 TO 2ZH2=ZH2+TEMP(M)ENDFORFOR M=3 TO 3ZH3=ZH3+TEMP(M)IF EOF()EXITENDIFENDFORP=(ZH1/3)*0.5+(ZH2/1)*0.35+(ZH3/1)*0.15CLOSE ALLUSE TEACHER &查找任课教师姓名LOCATE FOR NAME=BJ_MCH .AND.KM=KM_MCHKR_TEACHER=TEACHER.T_NAMEUSEUSE LJC.DBF &填写离均差表GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P,LJC.KM WITH KM_MCH,LJC.RK WITH KR_TEACHERABC=ABC+1CLOSE ALLENDFORENDFORCLOSE ALL(3)计算系数接下来处理每科成绩的系数,系数代表了本次考试成绩与本学期第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论