版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、重庆科技学院课程设计报告 院(系):_ 法政与经贸学院 专业班级: 经贸2011级3班 学生姓名: 卜益姣 学 号: 2011443785 设计地点(单位)_ 第一实验楼I305_ _ _ 设计题目:_ 成绩计算系统_ 完成日期: 2012年 6月 29日 指导教师评语: _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _目 录 TOC o 1-3 h z u HYPERLINK l _Toc328696656 1 需求分析0 PAGEREF _Toc328696656 h 4 HYPERLINK l _Toc328696657 1.1 问题描述 PAGEREF _Toc3286
2、96657 h 4 HYPERLINK l _Toc328696658 1.2 基本要求 PAGEREF _Toc328696658 h 4 HYPERLINK l _Toc328696659 2 概要设计 PAGEREF _Toc328696659 h 5 HYPERLINK l _Toc328696660 2.1 学生信息的设计 PAGEREF _Toc328696660 h 5 HYPERLINK l _Toc328696661 2.2系统功能的设计 PAGEREF _Toc328696661 h 6 HYPERLINK l _Toc328696662 2.3结构框架图 PAGEREF
3、_Toc328696662 h 6 HYPERLINK l _Toc328696663 3 详细设计 PAGEREF _Toc328696663 h 8 HYPERLINK l _Toc328696664 3.1 数据库的设计 PAGEREF _Toc328696664 h 8 HYPERLINK l _Toc328696665 3.2 系统功能的设计 PAGEREF _Toc328696665 h 8 HYPERLINK l _Toc328696666 3.3 设计主程序 PAGEREF _Toc328696666 h 9 HYPERLINK l _Toc328696667 3.4 设计主界
4、面模块 PAGEREF _Toc328696667 h 10 HYPERLINK l _Toc328696668 3.5 设计整理数据 PAGEREF _Toc328696668 h 12 HYPERLINK l _Toc328696669 3.6设计输入数据模块 PAGEREF _Toc328696669 h 13 HYPERLINK l _Toc328696670 3.7设计高分段平均分 PAGEREF _Toc328696670 h 17 HYPERLINK l _Toc328696671 3.8设计离均差模块 PAGEREF _Toc328696671 h 18 HYPERLINK l
5、 _Toc328696672 3.9 设计大平均分 PAGEREF _Toc328696672 h 19 HYPERLINK l _Toc328696673 3.10设计设置高分段 PAGEREF _Toc328696673 h 22 HYPERLINK l _Toc328696674 4 调试分析 PAGEREF _Toc328696674 h 24 HYPERLINK l _Toc328696675 5 用户使用说明 PAGEREF _Toc328696675 h 25 HYPERLINK l _Toc328696676 6 测试结果 PAGEREF _Toc328696676 h 26
6、HYPERLINK l _Toc328696677 7 总 结 PAGEREF _Toc328696677 h 27 HYPERLINK l _Toc328696678 8 致 谢 PAGEREF _Toc328696678 h 28 HYPERLINK l _Toc328696679 9 参考文献 PAGEREF _Toc328696679 h 29 HYPERLINK l _Toc328696680 10 附 录 PAGEREF _Toc328696680 h 301 需求分析1.1 问题描述 成绩计算系统是Visual ForPro进行系统操作的理想实例,包含了计算离均差、大平均差、高分
7、段平均分3个主要功能。其中离均差是运用方差分析的方法处理学生的成绩,得出各个班整体的;大平均分是将所有参考学生的成绩平均,了解学生的平均水平;高分段平均分是按照给定的分数线计算该分数线以上的平均分。1.2 基本要求学生通过动手动脑解决实际问题,是学生学完课程后进行的一次全面的综合训练,是一个非常重要的教学环节,通过课程设计,使学生经受一次综合动用所学知识,解决实际问题的方法。VFP课程设计课程设计旨在让学生掌握目前在办公系统流行的Visual Foxpro6.0,具备数据库软件开发基本技能,加强数据库教学的实践环节,培养学生对关系数据库的实际应用能力。通过课程设计,使学生能灵活使用Visual
8、 Foxpro6.0系统,了解计算机软件开发的基本步骤,编制方法,调试过程等基本知识。为将来熟练地应用计算机系统进行日常业务处理及运用相关知识处理问题打下良好的基础。要求如下: 1)巩固和加深对Visual ForPro 语言基础知识的理解,提高综合运用所学课程知识的能力。 2)培养学生的实际动手操作能力。 3)通过实际的课程设计,初步掌握简单软件的分析方法和设计方法。 4)需要了解排序算法。 5)能熟练地错误程序进行调试,能正确解释和分析实验结果。6)要求程序结构简单,功能齐全,使用方便。2 概要设计2.1 学生信息的设计学生的信息包括:考生考号、考生的姓名、班级名称、科目名称,任课教师姓名
9、、离均差、大平均分。这些信息反映到数据库表中,其字段名如下: 标题字号KSH /考生考号XM /考生的姓名 班级名称KM /科目名称1)任课教师姓名LJC /离均差平均分表2-1 离均差表 2.2系统功能的设计 成绩处理系统的目的是客观评价学生的成绩,为以后改良教学方法提供依据,这就要求分析的结果准确、客观、全面。对于单科成绩,需要了解该科的平均分、最高分以及与其他班级的差距。为此,该系统设计了输入数据、离均差、大平均分、高分段平均分几个功能模块,以及数据整理和设置高分段两个辅助功能。结构图如下所示。成绩管理系统输入数据离均差整理数据高分平均分大平均分设置高分段2.3结构框架图 确定了系统的功
10、能,即可设计系统的功能模块。针对以上功能要求,分别设计GFD_SHR1、SELECT_CLASS、ZHL、SHOW_LJC、SHOW_GFD表单,其结构图如下:MainSELECT.CLASSZHLSHOW-LJCSHOE-DPJGFD-SHRSHOE-GFD用户运行程序时,弹出MAIN表单,在该表单上放置了6个功能项,单击其中某个按钮,程序将按照规定的方法处理数据,最后将处理的结果展示给用户以便查阅,用户确认无误后,单击界面上的“打印”按钮系统将打印出处理结果。下面详细向读者介绍各个模块的功能以及详细设计。3 详细设计3.1 数据库的设计 学生成绩表存储的是光电阅卷机提供的原始成绩,即系统要
11、处理的数据,根据参考班级数量,有相应数量的数据库,其中主文件名中后3位是相应的班级名称。高中分为文科和理科两大类班级,每一类设置的考试科目是不同的,所以有两个数据库结构。理科班级的考试科目有数学、英语、语文、理科综合、物理、化学、生物。3.2 系统功能的设计成绩处理系统的目的是客观评价学生的成绩,为以后改良教学方法提供依据,这就要求分析的结果准确、客观、全面。对于单科成绩,需要了解该科的平均分、最高分以及与其他班级的差距。为此,该系统设计了输入数据、离均差、大平均分、高分段平均分几个功能模块,以及数据整理和设置高分段两个辅助功能。结构图如图3-1所示:成绩管理系统输入数据离均差整理数据高分平均
12、分大平均分设置高分段图3-1 功能分析图确定了系统的功能,即可设计系统的功能模块。针对以上功能要求,分别设计GFD_SHR1、SELECT_CLASS、ZHL、SHOW_LJC、SHOW_GFD表单,其结构图如图3-2所示:MainSELECT.CLASSZHLSHOW-LJCSHOE-DPJGFD-SHRSHOE-GFD图3-2 程序结构图3.3 设计主程序 程序在运行期间要使用部分变量来传递数据,这些变量都是在主程序定义的。打开 Visual FoxPro 程序,进入设计界面,然后新建一个项目文件,以“成绩“命名”保存,打开该项目的管理器,在管理器的“代码”选项卡中添加一个名为“MIAN”
13、的代码文件,并在“MIAN”代码文件窗口中添加如下代码:*初始化系统CLOSE ALLCLEAR ALLSET TALK OFFSET DELETED ON*设置窗口的属性_SCREEN.CAPTION=“计算”_SCREEN.WINDOWSTATE=2*设置全局变量,用来传递数据PUBLIC SHOW_FILE_NAME*调用主界面DO FORM MIAN 上述代码中15行对系统的运行进行了一系列的设置,67行定义了窗口的名称和状态,第8行定义了一个全局变量,用来传递数据,第9行调用系统的主界面,读者可以根据实际的需要来设置上面的代码。3.4 设计主界面模块 主界面是操作者选择功能的主要方式
14、,在设计上力求简单快捷。由于该系统的功能比较单一,因此采用了按钮的方式,如果系统的功能比较多建议采用菜单的方式,可以使界面简洁。在项目管理器中添加一个表单,命名为“MAIN”,Caption属性设置为“成绩分析”使用“表单控件”工具栏在表单上一个CommandGroup控件,用户分隔显示界面如图3-3图3-3 添加CommandGroup 控件利用同样的方法在该表单上添加另外2个CommandGroup 控件,接下来添加利用“表单控件”工具箱在表单中添加7个CommandGroup控件完成具体功能,1个Lable控件显示标题信息。属性如表3-1所示。 编号名称类型 属性名称属性值1Comman
15、dGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03CommandGroup3CommandGroupButtonCount04LableLableCaption成绩计算系统5Command1Command Caption输入数据6Command2Command Caption离均差7Command3Command Caption整理数据8Command4Command Caption高分段平均分9Command5Command Caption大平均分10Command6Command Caption设置高
16、分段11Command7Command Caption退出 表31 属性设置完成设计后界面如图3-4 所示图3-4 设计主界面 在主界面设计了6项功能,用6 个Command控件完成,将完成此项功能所需的代码添放在6个Command控件的Click事件中。3.5 设计整理数据 在系统中处理学生成绩的一部分是由自动阅卷机产生的,另外一部分由人工输入的,再由这两部分数据合成其他的相关数据,数据整理的,目的就是为了完成上述功能。 在Main表单的commang3控件的click行为窗口中输入如下代码:*整理数据USE DMD_G.DBFREPLACE CHJI WITH0,CHJH2WITH OUS
17、E*整理理科班的成绩FOR J=1 TO 3DO CASECASEI=1BJ_DAIMA=CJG301.DBFCASE I=2BJ_DAIMA=CJG302.DBFCASE I=3BJ_DAIMA=CJG303.DBFENDCASEUSE&BJ_DAIMAREPLACE YW WITH YW1+YW2,SX WITH SX1+SX2,YY WITH YY1+YY2 ALLGOTO 1REPLACE WL WITH WL1+WL2,HX WITH HX1+HX2,SW WITH SW1+SW2 ALLGOTO 1REPLACE ZF WITH YW+SX+YY+WL+HX+SW ALLENDFO
18、R*整理文科班的成绩FOR I=4 TO 6DO CASE CASE I=4BJ_DAIMA=CJG304.DBFCASE I=5BJ_DAIMA=CJG305.DBFCASE I=6BJ_DAIMA=CJG306.DBFENDCASEUSE &BJ_DAIMAREPLACE YW WITH YW1+YW2,SX1+SX2,YY WITH YY1+YY2 ALLCOTO 1REPLACE ZZ WITH ZZ1+ZZ2,LS WITH LS1+LS2,WITH DL1+DL2 ALLGOTO 1REPLACE ZF WITH YW+SW+YY+ZZ+LS+DL ALLUSEENDFORMESS
19、AGEBOX(数据整理完毕!)执行上面的代码计算每个学生的卷一、卷二以及总分成绩,整理完毕后提供给后面的处理使用。3.6设计输入数据模块 在实际考试中考试的成绩由主观成绩和客观成绩两部分组成。所以在系统中提供了输入主观成绩的界面,即输入数据模块。3.6.1选择班级模块 在输入数据前应该先选择要输入的班级,为此设计了选择班级的界面。在项目管理器中新建一表单,命名为“SELECT_CLASS”将Caption属性设置为“班级选择”,并添加2个CommandGroup控件分隔显示界面、1个Image控件用来插入背景图片、1个Combo控件供用户选择班级、2个Command控件完成控制功能,上述控件的
20、主要属性设置如表32 所示。表32 属性设置编号名称类型属性名称属性设置1CommandGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03Image1ImagePicture20041119277.jpg4Combo1ComboRowSourceTypeRowSource1_值 cjg301,cjg302,cjg33,cjg304,cjg3305,cjg3065Command1CommandCaption选择6Command2CommandCaption返回 设计完成后界面如下图3-5 所示图3-5 选择班
21、级界面系统运行时允许用户选择所要输入成绩的班级,并根据用户的选择打开相应班级的成绩单供用户修改,为此Command1控件的Click行为中添加代码,见附录4.53.6.2设计输入学生成绩表单在SELECT_CLASS表单中要调用一个修改学生成绩的表单,下面介绍设计过程。在项目管理器中新建一表单,命名为“XG”将Caption属性设置为“输入数据”。下面为该表单设置数据环境,用鼠标右键在表单空白处单击,在弹出的快捷菜单中现在“数据环境”命令,将打开“数据环境设计器”窗口。接下来将SHOW,DBF 数据表添加到数据环境中,用鼠标右键在设计器的空白处单击,现在弹出的快捷菜单中的“添加”命令。通过数据
22、环境中的表可以实现多种功能如用数据环境在的表建立一个Gril控件,只需要将现在的表文件拖放到表单中即可。在此Gril控件中可以任意修改学生的成绩,为了将修改的结果保存到相应的班级成绩表中,在表单上添加10个Command控件,命名为Command1,并将Caption属性设置为“确定”,如图3-6 所示。图3-6 添加Command控件在Command1控件的Click行为代码窗口中添加如下代码,将修改的结果保持到相应的比较成绩表中,其中SHOW_HILE_NAME为用户选择的比较成绩库文件名。代码见附录4.3.6.2 设计输入学生成绩单在SELECT_CLASS表单中要调用一个修改学生成绩的
23、表单,下面就介绍一下设计过程。 在项目管理器中新建一个表单,命名为“XG”,并将该表单的Caption属性设置为“输入数据”。下面为该表单设置数据环境,用鼠标右键在表单的空白处单击,在弹出的快捷菜单中选择“数据环境”命令,将打开“数据设计环境设计器”窗口。 接下来将SHOW.DBF数据表添加到数据环境中,用鼠标右键在设计器的空白处单击,选择弹出的快捷菜单中的“添加”命令。 通过数据环境中的表可以实现多种功能,如下面将用数据环境中的标建立一个Gril空间,采用这种方法极为简单,只需要将选择的表文件拖放到表单中即可以创建一个Gril控件。 在此Gril控件中可以修改任意修改学生的成绩,十分方便。为
24、了将修改的结果保存到相应的班级成绩表中,在该表单上添加10个Command控件,命名为Command1,并将Caption属性设置为“确定”,如图3-7所示: 图3-7 添加Command控件在Command1控件的click行为代码窗口中添加如下代码,将修改结果保存到相应班级成绩表中。 *选择要输入的班级,然后输入该班的成绩file_name=alltrim(bo1.value)*删除show.dbf表文件if file(show.dbf) delete file show.dbfendif*将用户选择的班级成绩导入到show.dbf表中select*from&file_name into
25、table show.dbfclose all*用全局变量来保存用户的选择show_file_name=file_name*执行修改表单do form xg*将用户修改的数据保存到选择的班级成绩表中use&show_file_namedelete allpack*将修改的结果保存到选择的班级文件中append from show.dbfthisform.release*退出修改表单close all至此,输入数据的模块就完成了。3.7设计高分段平均分高分段平均分反映的是上段分数的平均水平,反映出高分成绩的水平。高分段是人为规定的,高于该分数段的成绩都称之为高分,对该成绩平均得到的数据叫做叫做高
26、分段平均分。在上面的代码的最后调用了SHOW_GFD表单,该表单的设计方法与SHOW_LJC相同,区别在于数据环境中的添加表为LKGFBB.DBF,设计界面如图3-8所示:图3-8 高分段平均分表单设计界面3.8设计离均差模块在处理离均差前首先要计算出每班每科的P值,计算过程是首先分别将一个班级的单科成绩降序排列,然后将该成绩序列分成3个分数段,每个分数段的起始点是人为规定的,其次计算出每个分数段的平均分,最后将3个分数段的平均分乘以一个系数,将得到的结果相加得到的就是P值,接下来处理系数、可比离均差、离均差涨幅等多项数据。上述功能的实现放在了主界面中,即MAIM表单中的Command2控件的
27、Click行为窗口,添加实现功能的代码。首先初始化表:SET TALK OFFCLOSE ALL*清空离均差表USE LJC.DBFREPLACE ALL PZH WITH 0REPLACE LJC WITH OUSE计算P值是离均差处理中的一个重要的数据,在以后的计算中要重复使用,计算的方法为:将某个班的单科成绩存放在一个数组中,所有的成绩降序排列,排列的方法采用了效率较高的冒泡排序法。然后将排好序的成绩分成3个分数段,开放分数段的取值范围越大则表明对P值的影响越大,具体的分数段取值范围读者可以根据需要来确定。P值可以使用下面的公式计算出来:P=第一个分数段的平均分*0.5+第二个分数段的平
28、均分*0.35+第三个分数段的平均分*0.15公式中每个分数段平均分乘以权重是根据需要确定的,用户可以自行修改。计算出来的P值存放在LJC.DBF数据表。接下来处理每科成绩的系数,系数代表了本次考试成绩与本学期第一次考试成绩的比值,系数越小表明本次考试越好。计算系数就是将同种类型的班级的某一科成绩存放在一个数组中,将降序的方法排列,提取前一定比例的平均分以及后一定比例的平均分,提取分数的比例是人为规定的,将两个分数段的平均分相减作为系数计算的分母。使用上述方法处理的本学期的第一次考试存放在XSH.DBF中,作为本学期所有考试系数处理的分子。取出理科班某一科所有班级的P值,计算出该科P值的平均值
29、,然后用理科班所有班级的相应科目的P值和计算处理的平均值相减,得到的结果就是离均差,并将其存放在LJC.DBF表中。在LJC.DBF表设置了一个可比离均差,该数值反映了本次考试与上次考试的对此情况,计算的方法是用本次的离均差与本学期第一次考试离均差相减得到的结果即为可比离均差。接下来要计算离均差的涨幅,计算的方法是用本次的可比离均差与起始离均差与相减,得到的结果即为离均差的涨幅。通过上面的设计以及将所有的离均差相关的数据处理完毕,为了更加清楚地反映本次的考试结果,将处理的结果按科目排序,排序的结果存放在LJC_PX.DBF表中。完成后的设计界面如图3-9所示:图3-9 离均差设计界面3.9 设
30、计大平均分平均分是成绩处理中最为基础的计算方法,在MAIN表单中鼠标双击command4,打开click行为的代码编辑窗口,将计算大平均分的功能添加到窗口中。代码设计如下:*计算3理科班的大平均分CLOSE ALLCLEAR MEMORYSET TALK OFFUSE DPJ.DBFDELETE ALLPACK USEUSE DPJBB.DBFDELETE ALLPACKUSEFOR I=1 TO 3DO CASE CASE I=1 BJ_NAME=”CJG301.DBF” BJ_MCH=”高三(1)班” CASE I=2 BJ_NAME=”CJG302.DBF” BJ_MCH=”高三(2)班
31、” CASE I=3 BJ_NAME=”CJG303.DBF” BJ_MCH=”高三(3)班” ENDCASEFOR J=1 TO 6 &计算一个班中的6科成绩的平均分 DO CASE CASE J=1 KM_NAME=”语文” KM_DAIMA=”YW”CASE J=2 KM_NAME=”数学” KM_DAIMA=”SX”CASE J=3 KM_NAME=”英语” KM_DAIMA=”YY”CASE J=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE J=5 KM_NAME=”化学” KM_DAIMA=”HX”CASE J=6 KM_NAME=”生物” KM_DAIMA=”
32、SW”ENDCASEUSE &BJ_NAME &打开相应的班级库文件AVERAGE &KM_DAIMA TO DKPJF & 计算单科平均分USELOCATE FOR NAME=”&BJ_MCH”.AND.KM=”&KM_NAME”RKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJF USE ENDFORENDFOR*处理文科班的大平均分FOR I=4 TO 6DO CASE CASE I=4 BJ_NAME=”CJG304.DBF” B
33、J_MCH=”高三(4)班” CASE I=5 BJ_NAME=”CJG305.DBF” BJ_MCH=”高三(5)班” CASE I=3 BJ_NAME=”CJG306.DBF” BJ_MCH=”高三(6)班” ENDCASE FOR J=1 TO 6 &计算一个班中的6科成绩的平均分 DO CASE CASE J=1 KM_NAME=”语文” KM_DAIMA=”YW” CASE J=2 KM_NAME=”数学” KM_DAIMA=”SX”CASE J=3 KM_NAME=”英语” KM_DAIMA=”YY”CASE J=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE J
34、=5 KM_NAME=”化学” KM_DAIMA=”HX”CASE J=6 KM_NAME=”生物” KM_DAIMA=”SW”ENDCASEUSE &BJ_NAME &打开相应的班级库文件AVERAGE &KM_DAIMA TO DKPJF & 计算单科平均分USELOCATE FOR NAME=”&BJ_MCH”.AND.KM=”&KM_NAME”RKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJF USE ENDFORENDFORF
35、OR I=1 TO 9DO CASE CASE I=1 KM_DAIMA=”语文” CASE I=2 KM_DAIMA=”数学” CASE I=4 KM_DAIMA=”物理” CASE I=5 KM_DAIMA=”化学” CASE I=6 KM_DAIMA=”生物” CASE I=7 KM_DAIMA=”政治” CASE I=8 KM_DAIMA=”历史” CASE I=9 KM_DAIMA=”地理” ENDCASE USE DPJBB.DBF APPEND FROM DPJ.DBF FOR KM”=&KM_DAIMA” USEENDFORMESSAGEBOX(“数据处理完毕!”)DO FOR
36、M Show-DPJ3.10设计设置高分段高分段是考试结束后人为确定的,本系统中提供了设置高分段的一个模块,在项目管理器中添加一个表单,命名为GFD.SHR。添加2个ComandGroup控件,用来分割表单显示区域;3个lable控件,用来显示标题和提示信息;2个text控件,供用户输入成绩;1个Command控件,完成输入结果的保存,返回到主界面,在Command6控件的click行为代码窗口中添加如下代码,以便用户调用设置高分段表单:表3-3 主界面控件属性设置编号名称类型属性名称属性值1IMAGE1IMAGEPICTURE光盘:、素材2COMMAND1COMMANDCAPTION日常管理
37、3COMMAND2COMMANDCAPTION毕业管理4COMMAND3COMMANDCAPTION查询5COMMAND4COMMANDCAPTION用户管理6COMMAND5COMMANDCAPTION退出系统设计完成的表单如图3-10所示:图3-10 高分段输入设计界面Do form GFD_SHR调用高分段设计模块,同时在Command7控件的click行为代码窗口中添加,退出该系统,This for.release这个系统的设计工作就完成了。4 调试分析 在设计好了各个模块的表单中的程序之后,对每一个模块都进行了实验。通过正确地输入数据,得到了与预期相同的结果,由此确定该程序的正确性和
38、可行度。程序发布前的最后调试是指对最终功能和程序的健壮性的测试。包括最后调试和功能测试两个方面。程序的最后调试工作是应用程序发布版本的最后检查阶段,主要有以下几点:程序遇到用户错误操作时能否正确处理;程序的预定功能是否到达;程序在运行错误时是否能够正确的处理错误。 在成绩处理程序中,输入了对应的正确信息之后,在运行程序的时候也得到了正确的结果。然而在重新登录表单的程序运行中,输入的数据没有进行事先的检验,导致运行之后得不到数据,显示不出来,后来重新对程序的编译,数据的输入进行检查,找到了问题的所在输入的数据不能在数据库表中找到。之后的数据备份模块和系统维护模块都运行正常,得到了正确的结果。5
39、用户使用说明在前面,我们已将各模块的程序设计完毕,现在可以把它们组合起来以完成一个完整的成绩计算系统。(1)成绩录入系统 试卷采用主观和客观两种方式的试题,客观试题采用自动阅卷机收集成绩,而主观试题只能人工来评阅。在系统中提供了输入主观试题成绩的功能。在选择班级界面选择要输入的班级,系统运行时允许用户选择所要输入的班级,并根据用户的选择打开相应班级的成绩单供用户修改,将修改的结果保存到相应的班级成绩表中。(2)数据处理系统在处理离均差前首先要计算出每班每科的P值,计算过程是首先分别将一个班级的单科成绩降序排列,然后将该成绩序列分成3个分数段,每个分数段的起始点是人为规定的,其次计算出每个分数段
40、的平均分,最后将3个分数段的平均分乘以一个系数,将得到的结果相加得到的就是P值,接下来处理系数、可比离均差、离均差涨幅等多项数据。接下来处理每科成绩的系数,系数代表了本次考试成绩与本学期第一次考试成绩的比值,系数越小表明本次考试越好。计算系数就是将同种类型的班级的某一科成绩存放在一个数组中,将降序的方法排列,提取前一定比例的平均分以及后一定比例的平均分,提取分数的比例是人为规定的,将两个分数段的平均分相减作为系数计算的分母。 (3)成绩分析处理系统计算平均分是成绩处理中典型的数据处理方法,通过处理的结果可以得到成绩总体水平。一定的分数线称为高分段,对超过该分数段的成绩的平均成绩叫做高分段平均分
41、,该数据显示了优秀学生的平均情况,计算的方法为将等于或者超过高分段的成绩平均,得到的值即为高分段。考试结束后参考以前考试的效果,人为地规定出本次考试的理科和文科的高分段。设置高分段分数功能模块将接受用户的输入。6 测试结果通过各项测试,对于程序编写时引发的错误,进行了修改,最后得到了正确的程序内容。在测试成绩处理模块的时候,我们对测试结果进行了检验。,结果是没有错误的。但是在数据计算模块的时候,调用表单需要传递给它一个参数,告诉表单计算的形式是什么。使用的selectsql语句和集合函数sum()来进行统计。但是我们之前并没有考虑到这一点,所以得不到所对应的数据。在输入正确的信息后,我们也能够
42、得到正确的结果。模块之间的联系也处于正常状态。总的来说,测试结果是令人满意的。7 总 结这一周的安排如下:周一上午看老师所发的资料,大致了解此次课程设计的主要内容。下午,组员在一起商量整个系统模块的建设,每个模块的应用范围以及原理。周二,编写主程序,每个模块对应下表单的相关程序。一直持续到周三上午。周三下午,对所编写的程序进行调试,有差错的地方及时调整。周四,编写实验报告,做一个较为详细的用户说明书。周五,做最后的检查,递交实验报告。我相信,这一次课程实习之后,我对于这一方面的知识会更加得心应手。8 致 谢这一周的课程设计的学习,时间虽然很短,但是真的让我学习到了很多平时上课不能学到的东西,例
43、如,细节决定成败。这句话或许在平时体现得不是很明显,但是在编写程序的时候却体现得淋漓尽致,真的是细节决定你这个程序能不能正常运行,一个字母或者是一个符号错了,你编写出来的程序就不能运行了。我们学习编写程序,学习的不只是如何来设计程序,还有如何做人,如何提高自己的能力.细心,合作,耐心,这些都是编写所需要的。这一周,真的让我受益匪浅,不仅提高了我的实际操作能力,还对我以后不论是在工作中还是生活中,都有很大的帮助。感谢学校开展了课程设计这个专周, 希望学校能够多多开展此类教学活动来丰富我们的学习生活。感谢在我写这份报告时指导我的老师们,每次设计遇到问题时老师不辞辛苦的讲解才使得我的课程设计顺利的进
44、行,花费了老师很多时间,在此,向老师们衷心的感谢,老师们严谨的治学态度,开拓进取的精神和高度的责任心都对我帮助很大。还要感谢和我一起合作的几位同学们,是你们在我平时设计中和我一起探讨问题,并指出我的一些误区,使我能及时发现问题,并且改正,没有你们的帮助,我不可能这样子顺利的完成这篇报告,在此表示深深地谢意.。9 参考文献1 刘卫国.Visual FoxPro课程设计教程(第二版). 北京.北京邮电大学出版社,2005.09.34-36;2 陈洛资. 数据库系统及应用基础M.北京:北京交通大学出版社,2003.08.55-56; 10 附 录设计输入数据模块*选择要输入的班级,然后输入该班的成绩
45、file_name=alltrim(bo1.value)*删除show.dbf表文件if file(show.dbf) delete file show.dbfendif*将用户选择的班级成绩导入到show.dbf表中select*from&file_name into table show.dbfclose all*用全局变量来保存用户的选择show_file_name=file_name*执行修改表单do form xg*将用户修改的数据保存到选择的班级成绩表中use&show_file_namedelete allpack*将修改的结果保存到选择的班级文件中append from sho
46、w.dbfthisform.release*退出修改表单close all设计离均差模块初始化表SET TALK OFFCLOSE ALL*清空离均差表USE LJC.DBFREPLACE ALL PZH WITH 0REPLACE LJC WITH OUSE计算P值ABC=1FOR I1=1 TO 3 &依次处理1到3班的成绩 DO CASE &选择班级名称,并且存储班名,共个3个 CASE I1=1 BJ_NAME=CJG301.DBF BJ_MCH=高三(1)班 CASE I1=2 BJ_NAME=CJG302.DBF BJ_MCH=高三(2)班 CASE I1=3 BJ_NAME=CJ
47、G303.DBF BJ_MCH=高三(3)班 ENDCASE FOR I=1 TO 6 &处理各班数据 DO CASE CASE I=1 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=语文 FOR J=1 TO K &传递给数组 TEMP(J)=YW SKIP ENDFOR CASE I=2 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DELETE TEMP(K) GOTO 1 KM_MCH=数学 J=1 FOR J=1 TO K &传递给数组 TEMP(
48、J)=SX SKIP ENDFOR CASE I=3 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=英语 J=1 FOR J=1 TO K &传递给数组 TEMP(J)=YY SKIP ENDFOR CASE I=4 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=物理 J=1 FOR J=1 TO K &传递给数组 TEMP(J)=WL SKIP ENDFOR CASE I=5 &处理一个班的成绩 U
49、SE &BJ_NAME &打开数据库 K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH化学 J=1 FOR J=1 TO K &传递给数组 TEMP(J)=HX SKIP ENDFOR CASE I=6 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH生物 J=1 FOR J=1 TO K &传递给数组 TEMP(J)=SW SKIP ENDFOR ENDCASE &下面的操作是进行的排序操作 M=0 N=0 Y=0 &指针变量 X=0 &中间变量 FOR M=2 T
50、O K IF TEMP(M)TEMP(M-1) N=M-1 X=TEMP(M) DO WHILE XTEMP(N) TEMP(N+1)=TEMP(N) N=N-1 IF N=0 EXIT ENDIF ENDDO TEMP(N+1)=X ENDIF ENDFOR &排序完毕 ZH1=0 ZH2=0 ZH3=0 &计算离均差 FOR M=1 TO 1 ZH1=ZH1+TEMP(M) ENDFOR FOR M=2 TO 2 ZH2=ZH2+TEMP(M) ENDFOR FOR M=3 TO 3 ZH3=ZH3+TEMP(M) IF EOF() EXIT ENDIF ENDFOR P=(ZH1/1)*
51、0.5+(ZH2/1)*0.35+(ZH3/1)*0.15 CLOSE ALL USE TEACHER &查找任课教师姓名 LOCATE FOR NAME=BJ_MCH.AND.KM=KM_MCH KR_TEACHER=TEACHER.T_NAME USE USE LJC.DBF &填写离均差表 GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P REPLACE LJC.KM WITH KM_MCH,LJC.RK WITH KR_TEACHER ABC=ABC+1 CLOSE ALL ENDFORENDFOR&处理文科成绩FOR I1=4 TO
52、 6 DO CASE &选择班级名称 CASE I1=4 BJ_NAME=CJG304 BJ_MCH=高三(4)班 CASE I1=5 BJ_NAME=CJG305 BJ_MCH=高三(5)班 CASE I1=6 BJ_NAME=CJG306 BJ_MCH=高三(6)班 ENDCASE FOR I=1 TO 6 &处理各班设计 DO CASE CASE I=1 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=语文 J=1 FOR J=1 TO K TEMP(J)=YW SKIP ENDFOR CA
53、SE I=2 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=数学 J=1 FOR J=1 TO K TEMP(J)=SX SKIP ENDFOR CASE I=3 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=英语 J=1 FOR J=1 TO K TEMP(J)=YY SKIP ENDFOR CASE I=4 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT()
54、DECLARE TEMP(K) GOTO 1 KM_MCH=历史 J=1 FOR J=1 TO K TEMP(J)=LS SKIP ENDFOR CASE I=5 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=政治 J=1 FOR J=1 TO K TEMP(J)=ZZ SKIP ENDFOR CASE I=6 &处理一个班的成绩 USE &BJ_NAME &打开数据库 K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=地理 J=1 FOR J=1 TO K
55、TEMP(J)=DL SKIP ENDFOR ENDCASE &下面的操作是进行排序操作 M=0 N=0 Y=0 &指针变量 X=0 &中间变量 FOR M=2 TO K IF TEMP(M)TEMP(M-1) N=M-1 X=TEMP(M) DO WHILE XTEMP(N) TEMP(N+1)=TEMP(N) N=N-1 IF N=0 EXIT ENDIF ENDDO TEMP(N+1)=X ENDIF ENDFOR &排序完毕 ZH1=0 ZH2=0 ZH3=0 &计算离均差 FOR M=1 TO 1 ZH1=ZH1+TEMP(M) ENDFOR FOR M=2 TO 2 ZH2=ZH2
56、+TEMP(M) ENDFOR FOR M=3 TO 3 ZH3=ZH3+TEMP(M) IF EOF() EXIT ENDIF ENDFOR P=(ZH1/3)*0.5+(ZH2/1)*0.35+(ZH3/1)*0.15 CLOSE ALL USE TEACHER &c查找任课教师姓名 LOCATE FOR NAME=BJ_MCH.AND.KM=KM_MCH KR_TEACHER=TEACHER.T_NAME USE USE LJC.DBF &填写离均差表 GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P REPLACE LJC.KM WI
57、TH KM_MCH,LJC.RK WITH KR_TEACHER ABC=ABC+1 CLOSE ALL ENDFOR ENDFOR CLOSE ALL计算系数FOR A=1 TO 6DO CASE&处理六科成绩CASE A=1 KM_NAME=”语文” KM_DAIMA=”YW”CASE A=2 KM_NAME=”英语” KM_DAIMA=”YY”CASE A=3 KM_NAME=”数学” KM_DAIMA=SX”CASE A=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE A=5 KM_NAME=”化学” KM_DAIMA=”HX”CASE A=6 KM_NAME=”生物
58、” KM_DAIMA=”SW”ENDCASEXSGS=0FOR I=1 TO 3DO CASECASE I=1USE CJG301.DBF XSGS=XSGS+RECCOUNT()CASE I=2USE CJG302.DBF XSGS=XSGS+RECCOUNT()CASE I=3USE CJG303.DBF XSGS=XSGS+RECCOUNT()ENDCASEENDFOR*初始化数组DECLARE TEMP(XSGS)FOR HOU=1 TO XSGSTEMP(HOU)=0ENDFOR*初始化指针J=1& 计算应理系统FOR I=1 TO 3 DO CASE CASE I=1 BJ_DAIMA=”CJG301.DBF” CASE I=2 BJ_DAIMA=”CJG302.DBF” CASE I=3 BJ_DAIMA=”CJG303.DBF” ENDCASE USE &BJ_DAIMA GOTO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2北京2024版物业公司转让合同:价格、流程与标的物
- 二零二五版自然人之间文化创意作品授权合同2篇
- 屋顶租赁违约金合同(2篇)
- 二零二五年度液化气站送气工劳动合同书3篇
- 二零二五版本二手房买卖合同含房屋交易资金监管条款3篇
- 二零二五年高端活动赞助广告发布合同模板3篇
- 二零二五年度离婚协议书起草与财务规划服务合同3篇
- 2025年度汽车租赁行业担保函制定与法律效力确认合同3篇
- 二零二五年车库购置与车位租赁及产权登记服务合同样本2篇
- 二零二五年污水处理厂污水处理能力提升合同3篇
- 2023年河南省公务员录用考试《行测》真题及答案解析
- 2024年安徽省公务员录用考试《行测》真题及答案解析
- 山西省太原市重点中学2025届物理高一第一学期期末统考试题含解析
- 充电桩项目运营方案
- 2024年农民职业农业素质技能考试题库(附含答案)
- 高考对联题(对联知识、高考真题及答案、对应练习题)
- 新版《铁道概论》考试复习试题库(含答案)
- 【律师承办案件费用清单】(计时收费)模板
- 高中物理竞赛真题分类汇编 4 光学 (学生版+解析版50题)
- Unit1FestivalsandCelebrations词汇清单高中英语人教版
- 2024年上海市中考语文试题卷(含答案)
评论
0/150
提交评论