学生成绩分布统计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳航空航天大学

课程设计任务书

学院:航宇专业:飞行器制造工程班级:94030101

学号:2009040301009 题目:学生成绩分布统计

一、课程设计时间

2011年3月7日~11日(第1周),共计1周。

二、课程设计内容

学生数学期末成绩保存在文本文件或Access数据库的一个表中,数据内容包括:学号、姓名、数学成绩等。程序实现以下功能:信息录入、修改;按学号查询、按姓名查询;统计平均分、统计各分数段的人数等,分数段指不及格、及格、中等、良好、优秀5种成绩。

用户界面中的菜单至少应包括“数据维护”、“查询”、“统计”、“退出”4项。

三、课程设计要求

程序质量:

✧贯彻事件驱动的程序设计思想。

✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提

供的模板。

四、指导教师和学生签字

指导教师:________ 学生签名:________

五、成绩

六、教师评语

目录

一、需求分析 (4)

二、设计分析 (5)

三、关键技术 (7)

四、总结 (15)

五、完整的源程序 (16)

六、参考文献 (19)

一、需求分析

学生数学期末成绩保存在文本文件或Access 数据库的一个表中,数据内容包括:学号、姓名、数学成绩等。程序实现以下功能:信息录入、修改;按学号查询、按姓名查询;统计平均分、统计各分数段的人数等,分数段指不及格、及格、中等、良好、优秀5种成绩。。

二、设计分析

(1)基本原理:建立程序设计与数据库的连接,用SQL语句在数据库中查找,添加和更改数据。

(2)总体设计:

图1 总体设计

(3)详细设计:

图2详细设计

(4)数据库设计:

数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。

1)学生数学期末成绩表(rsb.dbf)

学生数学期末成绩表(rsb.dbf)用于记录学号、姓名、班级等信息,其逻辑结构如表1所示。

表1 学生基本信息表

三、关键技术

(1)建立与数据库的连接代码如下。

Private Sub Form_Load()

Dim mpath$, mlink$

mpath = App.Path ' 获取程序所在的路径

If Right(mpath, 1) <> "\" Then mpath = mpath + "\" ' 判断是否为子目录

' 以下两行代码可合成一句,mlink存放ConnectionString属性的设置值

mlink = "Provider=Microsoft.Jet.OLEDB.4.0;" ' 指定提供者

mlink = mlink + "Data Source=" + mpath + "db2.mdb" ' 在数据库文件名前插入路径

Adodc1.ConnectionString = mlink ' 设置连接属性

mandType = adCmdUnknown ' 指定记录集命令类型(可在设计时指定)

Adodc1.RecordSource = " Select * from 学生期末数学成绩"

Adodc1.Refresh

Set DataGrid1.DataSource = Adodc1

End Sub

End Sub

(3)查询经营情况是SQL语句在数据库中按学号查找学生信息。

Private Sub S5_Click()

I f T e x t7>""T h e n

'设置数据源

Adodc1.RecordSource = "select * from 学生期末

数学成绩where 学号= '" & T ext7 & "'"

Else

Adodc1.RecordSource = "select * from 学生期末数学成绩" '未指定专业

End If

Adodc1.Refresh

'必须用Refresh方法激活

窗体-查询:

图3 窗体-查询

(4)查询经营情况是SQL语句在数据库中按姓名查找学生信息

Private Sub S6_Click()

If T ext7 > "" Then '设置数据源

Adodc1.RecordSource = "select * from 学生期末数学成绩where 姓名= '" & T ext7 & "'"

Else

Adodc1.RecordSource = "select * from 学生期末数学成绩" '未指定专业

End If

Adodc1.Refresh '必须用Refresh方法激

End Sub

窗体-查询

图4窗体-查询

(5)录入学生信息

程序段如下:

Private Sub S1_Click()

Adodc1.Recordset.AddNew

End Sub

窗体-录入信息:

图5 窗体-录入信息

(4)删除学生信息。

程序段如下:

Private Sub S3_Click()

Adodc1.Recordset.Delete

Adodc1.Recordset.MoveNext

If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End Sub

窗体-删除信息:

相关文档
最新文档