tdbgrid 数据类型输入错误 vb_VB编程学生成绩统计与查询系统

设计题目:学生成绩统计与查询系统

目的与要求:

1.目的: 

培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用基本控件的、文件读写、数组操作和菜单设计等能力。

2.基本要求:

设计一个学生成绩统计与查询系统,要求具有如下的功能:

★  使用该系统时,首先要登陆,用户名或密码输入正确才能使用(设置一个用户名和一个密码),即进入程序的主界面。最多可输入3次口令,若3次输入都错误,则禁止再次输入。

★  在程序的主界面中进行菜单设计。

★  通过菜单命令应能从数据文件中将学生姓名信息及课程的成绩(至少三门课的成绩)读入,并显示在文本框中。

★  通过菜单命令应能计算并显示每个学生的平均成绩。

★  通过菜单命令应能计算并显示数学、英语、计算机各科的平均成绩和总平均成绩及学生总人数。

★  通过菜单命令应能计算出平均成绩大于与或等于总平均成绩、各科成绩均大与或等于各科的平均成绩的学生人数,即优秀生的人数,并显示优秀生的信息。

★ 通过菜单命令应能根据学生的姓名进行查询。

3.创新要求:

在基本要求达到后,进行创新设计,进一步完善系统。创新方向提示如下:

★   在程序运行时,可以设置多个条件,然后根据给定的多个条件来统计或查询学生信息(如统计某个分数段的学生人数和显示该分数段内的学生信息等)。

★    为某些命令设置快捷键。

★    增加工具栏,工具栏中应有常使用的工具按钮。

设计方法和基本原理:

1.     问题描述:

程序界面见上面的示图,功能描述参见基本要求和创新的内容。设计时要注意一些功能需要在其它功能之后才能使用,如统计与查询菜单下的命令需要在读入数据后才能使用。

2.     问题的解决方案:

设计程序主界面 (主界面设计状态示意如下)

44f76daa8191ac466f3640d78ae44fc8.png

登陆窗体用来限制非法用户进入系统,所以该窗体应为启动窗体。在用于登陆的窗体中,由于用户密码不能显示出来的,所以要设置文本框的Password属性。

②编写代码

需要对每一个窗体编写事件处理过程。最主要的工作包含在主窗体中,代码包括事件处理过程和必要的声明。变量声明部分声明本程序所需要的变量和数组,由于单击菜单命令时,要对数学、英语、计算机、平均成绩数组及各累加变量进行操作,因此相应的数组和变量应定义为模块级的。在编写事件处理过程代码时注意以下几点:

(1) 定义数组分别用于存放姓名、数学、计算机、英语、平均成绩数据。

(2) 单击“数据”菜单中“读入数据”,将数据文件中的数据依次读入到相应数组中。

(3) 计算每个学生的平均成绩时,要计算每个学生所有科目的平均分,并存放在平均分数组的对应元素中;计算各科平均成绩时,分别对数学、英语、计算机的数组的数据求和,然后计算平均分;总平成绩为各科平均成绩之和除以科目数

(4) 利用InputBox 函数来输入要查询学生的姓名。

(5) 利用MsgBox 函数或另一个窗体来显示统计和查询结果。

(6) 利用另一个窗体来显示优秀生的信息

主要技术问题的描述:

(1)  菜单的设计参看课本第十章。

(2)  文本的读取为本题中的难点。将文本文件的内容读入字符串数组的部分代码如下:

Dim txt() As String,linesAs Integer

lines = 0                    ‘ 文件行数总计

Open infile For Input As#1 ‘ 打开文件。infile 变量中存放的是文本文件的名字

Do While Not EOF(1)

    ReDim Preserve txt(lines + 1)   ‘开辟空间以存放新一行内容

    lines = lines + 1

    Line Input #1, txt(lines)   ‘读入一行并放入数组

Text1.Text = Text1.Text & txt(lines) & vbCrLf ‘在文本框中显示

Loop

Close #1   ‘关闭文件

一旦数组中有了文件的内容,则可以将其内容逐行地、通过字符串连接符赋给文本框的Text属性,就可以显示出来了。要控制文本框中文本的换行可以利用VB的系统常数vbCrLf来实现。

(3)  在执行“统计”→“优秀生的人数与信息”时,由于信息是显示在另一个窗体中的Text1控件中,所以应在Text1控件前加上窗体的名称,并以点分隔来表明控件所属的窗体。如:

Form3.Text1.Text =Form3.Text1.Text & txt(lines) & vbCrLf

‘在窗体Form3中的文本框中显示

学习VB中有问题可以添加小编微信号:vbyjk521 ,每晚在线免费答疑。

3103d3da0f5a7877b868ec139e3b663e.png



203376c577d2ea6c12b188170e2cde07.gif 054760b8b3c6d831bf54afc5af175988.png

长按上图,关注跟我学VB

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页