第一篇:vB作业说明书(共)
VB期末作业
学生信息管理系统
班级:测控1101 学号:1110340110 姓名:刘太丽
目录
设计目的…………………………………………………………………………………………1 设计目标…………………………………………………………………………………………1 设计说明…………………………………………………………………………………………2 程序代码…………………………………………………………………………………………3
1.设计目的
学校的学生信息管理系统采用人工方式,由于现在学生人数不段增多,且学生信息的工作都在月底进行,时间要求紧.所以给学校学籍科人员的工作负担重,效率低,要不段修改和增减学生的信息,所以我校学籍科迫切要求开发一个计算机学生信息管理系统,用以取代现行的手工操作。
按照软件项目开发计划书所确定的工作范围为指南。为明确软件需求,搞清该项目的数据流向和数据结构,为设计阶段打下坚实的基础;确定系统功能,设计时应遵循的原则,约束条件以及性能等要求;建立和保持与用户之间的通信,确保以后的工作能够比较顺利的开展,撰写需求规格说明书即当前文档。本文档供项目经理、设计人员、测试人员等软件开发成员以及用户参考。
2.设计目标
用计算机管理系统代替手工学生信息管理,计算机学生信息管理系统应实现以下目标:(1)对原有的原始学生信息管理进行分析整理.用做原始的数据输入到计算机,原始数据保存待查。
(2)取消有关手工学生信息系统的操作,所以数据都保存在计算机磁盘上。
(3)各种表及有关数据都又计算机系统生成并且输出。(4)有灵活方便的学生信息数据更新。(5)可以随时查询我班学生的学生信息等。3.功能说明
(1)学生基本信息的增加、保存和删除。学生基本信息包括:学号、姓名、性别、生日和宿舍。
(2)查找学生信息,可通过姓名、学号查找
(3)登录界面
4.程序代码 1.Form1 Private Sub Command1_Click()Form1.Hide Form2.Show End Sub
Private Sub Form_Load()
End Sub
Private Sub Text1_Change()End End Sub
2.Form2 Private Sub Command1_Click()
Adodc1.Recordset.MoveFirst
Adodc2.Recordset.MoveFirst
End Sub
Private Sub Command10_Click()ask = MsgBox(“删除否?”, vbYesNo, “警告”)If ask = 6 Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Adodc2.Recordset.Delete Adodc2.Recordset.MoveNext If Adodc2.Recordset.EOF Then Adodc2.Recordset.MoveLast End If
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.MoveLast
Adodc2.Recordset.MoveLast End Sub
Private Sub Command3_Click()
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst
Adodc2.Recordset.MovePrevious
If Adodc2.Recordset.BOF Then Adodc2.Recordset.MoveFirst End Sub
Private Sub Command4_Click()
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast
Adodc2.Recordset.MoveNext
If Adodc2.Recordset.EOF Then Adodc2.Recordset.MoveLast End Sub
Private Sub Command5_Click()Dim xm
xm = InputBox(“输入姓名”, “查找窗”)
Adodc1.Recordset.Find “姓名=' ” & xm & “ '”, , , 1
If Adodc1.Recordset.EOF Then MsgBox “无此姓名!”, , “提示” End Sub
Private Sub Command6_Click()
Dim mno As String
mno = InputBox(“输入学号”, “查找窗”)
Adodc1.Recordset.Find “学号=' ” & mno & “ '”, , , 1
Adodc2.Recordset.Find “学号=' ” & mno & “ '”, , , 1
If Adodc1.Recordset.EOF Then MsgBox “无此学号!”, , “提示” End Sub
Private Sub Command7_Click()ask = MsgBox(“是否退出?”, vbYesNo, “提示”)If ask = 6 Then
Form1.Show Form2.Hide End If
End Sub
Private Sub Command8_Click()Adodc1.Recordset.AddNew Adodc2.Recordset.AddNew End Sub
Private Sub Command9_Click()Adodc1.Recordset.Update Adodc2.Recordset.Update
End Sub
Private Sub DataGrid2_Click()
End Sub
Private Sub Form_Load()
End Sub
第二篇:VB程序设计(2014大作业)
《VB程序设计》大作业
一、大作业的内容
本次大作业要求学生根据所学知识以及个人爱好,设计开发一个VB应用小程序。要能体现出:
1.《VB程序设计》各种语句的综合使用能力; 2.《VB程序设计》各种相关控件的使用能力;
3.根据具体的设计题目,设计清晰、美观界面的能力; 4.一定的综合设计能力。
二、大作业的要求
本次大作业应满足以下要求:
实用性:应用程序要有明确的应用主题,有一定的实用价值。结构性:应用程序具有良好的程序结构。可读性:应用程序具有较好的可读性。全面性:应用程序应包含比较全面的功能。
友好性:合理使用VB提供的各种控件,设计友好、美观的使用界面。
三、大作业的步骤 1.根据个人兴趣、爱好,以及提交时间的要求,自己确定设计题目(可参考附件1); 2.查找与设计题目相关的资料;
3.进行应用程序总体结构、使用功能的设计; 4.进行应用程序的界面设计和源程序代码的编写; 5.上机编辑、调试程序;
6.保存应用程序, 并生成可执行文件; 7.撰写设计报告。
四、设计报告的基本格式
设计报告的基本内容至少包括封面、正文、总结三部分。(1).封面(包括:题目、班级、姓名、指导教师、完成日期等信息)(2).正文
1、课题的选材过程(设计思路);
2、设计的将要达到的目标;
3、总体设计结构与功能;
(1)总体设计结构介绍(绘制:结构流程图)
(2)各功能模块运行界面的功能、算法和操作步骤;
4、设计结果分析;(运行结果展示、正确性分析)(3).总结(感想、收获、启发、存在的问题)
五、课程大作业提交
(1)形式
设计报告 + 源程序文件(含可执行文件)
其中:<1>设计报告的封面统一(附件2);
<2>源程序文件(含 *.vbp;*.frm;*.exe)打包压缩成一个文件,以学号+姓名(例如: 11020741姓名)为文件名。
(2)时间
2014年5月10日 之前;
(3)方法
纸质报告及压缩文件交各班学委,按顺序排好后由学委统一上交;
附件一:
参考题目
1、《班级信息系统》
描述:如同班级和每个成员的成长日记,信息量大,生动活泼,有纪念意义。要求:具有数据库、图片库等功能。
2、《幼儿算术游戏》
本系统面向3-6岁幼儿进行加、减法练习,要生动活泼,寓教于乐,主要以图形、动画、声音等多媒体形式提供学习环境。要求:
题型包括选择题和填空题两种形式。
随机出题,范围为100以内的加、减法,也可以是加减法的混合运算。以练习和试卷两种形式出题。
答案可以提供图片的形式进行选择,也可以从键盘输入。答题后要用声音或者动画给出奖励或评价。
提供背景音乐。
3、《记事本程序》
记事本主要是对文字进行编辑处理的软件。能进行新建、打开、保存等功能;并且能运用 剪贴、复制、粘贴、清除功能,对文字更方便的录入。另外还可以根据用户的需要查找相应的 文字,实现编辑功能。
由于记事本是一套简单的文本编辑器。要求记事本不但要具备完善的编辑、方便的性能,还要提供更简便的操作。这就要求设计人员在编辑过程当中尽可能的考虑到。包括以下内容: *对文本进行编辑; *用户根据不同的权限可对文本进行添加、删除、修改等操作;*对记事本进行各种编辑(精确、简单);
4、《科学计算器》设计
本科学计算器是一种能实现 加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。
5、个人日常收入与开销记录、统计与查询
个人日常收入与开销记录包括收入与开销的时间、收入与开销来源或者去向、类型,备注,统计功能按月统计与按年统计,查询包含按时间段和类型查询。
6、《学生成绩管理系统》
本系统由三部分组成:系统管理、学籍管理、成绩管理、报表。1.用户管理:实现用户的添加、删除、密码修改、用户登录等功能。2.成绩管理:实现学生的成绩录入、成绩的查询、成绩的统计。4.报表:可以打印学生的学籍信息、成绩。数据存放到access数据库中。使用菜单、界面友好、功能完善。
VB学单词
本系统功能要求:
1.能够自动显示单个单词中英文及词性。
2.显示单个单词的时间可以调整,并随时显示已用时间。3.有暂停功能。
4.可用文本文件存储单词。
题目:饭店点菜系统
目的 通过该题目的设计,使学生掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;掌握利用VB开发数据库系统的方法
主要内容和要求(包括原始数据、技术参数、设计要求等)
主要功能有:
菜式浏览功能:能分类浏览饭店的所有菜式、采样及价格;
点菜功能:进行点菜操作后能预览点菜结果,并可对其进一步修改; 留言板功能:记录顾客的意见和建议,并具有浏览功能;
抽奖功能:当顾客的消费达到指定金额时,可分档抽取小奖品。要求:
用数据库或文件保存相关信息。
VB程序语言设计
课程大作业
题目名称:_________________________________ 班 级:_________________________________ 姓 名:_________________________________ 学 号:_________________________________ 课程教师:
温海骏
学 期: 2013-2014学年
第2学期
完成时间:
第三篇:可视化程序设计(VB)第一次作业
可视化程序设计(VB)第一次作业
一、单项选择题
1.Visual Basic程序中分隔各语句的字符是(:)
2.工程文件的扩展名是(vbp)
3.下列运算符中,运算级别最高的是(*)
4.下列可作为Visual Basic的变量名的是(Filename)
5.下面的程序的输出结果是(21 21)
x=5
For i = 1 To 20 Step 2
x=x+i5
Next i
Print x, i
6.下列赋值语句合法的是(A=A+B)
7.下列属性中,目录列表框和文件列表框都有的属性为(Path)。
8.执行下面的程序段后,x的值为(21)
x=5
For i = 1 To 20 Step 2
x=x+i5
Next i
9.向一个顺序文件中写数据时,(Append)是从文件末尾添加的方式打开顺序文件。
10.Seek方法用于在(表)类型的记录集中查找满足条件的记录。
11.当函数EOF()的返回值为真时,表示文件的指针指向(尾部)
12.如果要退出Do„Loop循环,可使用语句(Exit Do)。
13.在VB中,称对象的数据为(属性)。
14.不论何对象,都具有(Name)属性。
15.使用Public Const语句声明一个全局的符号常量时,该语句应放在(标准模块的通用声明段)。
16.下面关于变量的作用域,正确的描述是(同一模块中不同级的变量不能同名)。
17.设a=2,b=3,c=4,d=5,下列表达式的值是(False)a>b AND c<=d OR 2*a>c
18.把数值型转换为字符(串)型需要使用下列哪一个函数?(Str)
19.以下叙述错误的是(KeyPress事件中可以识别键盘上某个键的按下与释放)
20.用于设置或返回文件类型的属性是(Pattern)。
21.要删除列表框中的某一个项目,需要使用(ReMoveItem)方法。
22.以下语句的输出结果是(在立即窗口中)(Δ27ΔΔ65Δ)a=27 <CR>(<CR>为回车)b=65 <CR> Print a;b <CR>
23.语句Print 5*55/5的输出结果是(25)
24.编写如下事件过程:
private sub form_mousedown(button as integer,shift as integer,x as single,y as single)
if shift=6 and button=2 then
print “BBBB”
end if
end sub
程序运行后,为了在窗体上输出“BBBB”,应执行的操作为(同时按下ctrl、alt键和鼠标右键)
25.如果X是一个正实数,对X的第三位小数四舍五入的表达式是(0.01 * Int(100 *(X +0.005)))
第四篇:西北农林科技大学 vb实习作业
第五章
(1)例 5-2
Private Sub Command1_Click()Dim sum!, n%, aver!sum = 0 n = 0 x = Val(InputBox(“请输入”))Do While x <>-9999 sum = sum + x n = n + 1 x = Val(InputBox(“请输入”))Loop aver = sum / n MsgBox “共输入” & n & “ 个数,平均值为:” & aver End Sub
(2)例 5-3 Private Sub Command1_Click()Dim a%(65 To 90), c As String * 1 le = Len(Text1)For i = 1 To le c = UCase(Mid(Text1, i, 1))If c >= “A” And c <= “Z” Then j = Asc(c)a(j)= a(j)+ 1 End If Next i For j = 65 To 90 If a(j)> 0 Then Picture1.Print “";Chr(j);”=“;a(j);”“;Next j End Sub
(3)例 5-4 Private Sub Command1_Click()Dim a$()Dim x(0 To 10)As Integer a = Split(Text1, ”,“)For i = o To UBound(a)
If(a(i)<= 100 And a(i)> 0)Then
k = a(i)10
x(k)= x(k)+ 1
End If
Next i
Print ”100分的有:“ & x(10)& ”人“
For i = 9 To 0 Step-1
Print i * 10 & ”分-“;i * 10 + 9&;”分有:“ & x(i)& ”人“
Next i
End Sub
Private Sub Command2_Click()End End Sub
(4))输入多名学生的一门课程成绩(成绩用数组存放,要求成绩用文本框输入),统计0-
59、60-69、70-79、80-89、90-100个分数段人数。
Private Sub Command1_Click()Dim a$()Dim x(0 To 10)As Integer a = Split(Text1, ”,“)For i = o To UBound(a)
If(a(i)<= 100 And a(i)> 0)Then
k = a(i)10
x(k)= x(k)+ 1
End If
Next i
Print ”90-100分的有:“ & x(10)+ x(9)& ”人“
For i = 8 To 6 Step-1
Print i * 10 & ”分-“;i * 10 + 9&;”分有:“ & x(i)& ”人“
Next i
For i = 0 To 5
s = x(i)+ s
Next i
Print ”0-59分的有“ & s;”人“ End Sub
(5)例 5-6(用穷举法、辗转相除法两种方法)Private Sub Command1_Click()Dim m%, n% m = Val(InputBox(”请输入第一个数m:“))n = Val(InputBox(”请输入第二个数n:“))If m < n Then t = m: m = n: n = t For x = m To m * n If x Mod m = 0 And x Mod n = 0 Then Print ”最小公倍数为:";x End Sub(6)例 5-7(7)例 5-8(8)例 5-9(9)用比较交换法对10个学生成绩实现从低到高排序
(10)用选择法对10个学生成绩实现从低到高排序
(11)例 5-12(12)第136页第3题(13)第136页第4题(14)第136页第5题(15)第136页第7题(16)第136页第8题(17)第136页第11题
第五篇:VB作业-模拟成绩管理系统
VB程序设计 模拟成绩管理系统
学院:汽车学院
专业:(交通运输)汽车运用工程 班级: 姓名 学号:
模拟成绩管理系统
2016 《VB程序设计》作业要求
1.做一个成绩管理系统。
2.系统中包括部分学生个人信息,如学号,姓名,性别,出生年月日,班级,籍贯,家庭住址,家庭电话,备注等,及若干(不少于8门)课程成绩和课程学分;输入不少于10条记录;
3.需计算总评成绩(即学分加权平均成绩),并计算排名,且反映在字段中; 4.程序需具备的功能:记录浏览,添加,修改,删除,查询(按姓名或学号查询)
5.建议不要用ADO控件 6.作业的提交:(1)电子版。
a.该版本应该是在你的或老师的电脑上都能运行的,与数据库的路径无关的,提交以前请在其他同学电脑上运行一下,确保程序的运行和电脑无关;
b.把所有文件放在同一个文件夹中,压缩文件名:VB-班级-学号-姓名,如:VB-汽运1班-xxxxxxxx-张三.zip; c.提交邮箱随后公布;
(2)纸质版。纸质版应包括:
a.封面,作业要求; b.主要界面;
c.主要代码,附程序功能注释及主要语句注释。d.附必要的说明。
模拟成绩管理系统
系统运行界面
查询功能
检索框内输入学号或姓名,点击查询,即可在右方显示基本信息,并显示总评成绩。点击清空按钮后,可继续输入。
例如:输入学号“09”后,显示界面如下图
如果没有找到纪录,则发出警告,如下图
主要代码: 查询按钮: Private Sub Command1_Click()
Me.Data1.Recordset.Movefirst 将记录指针指向第一个纪录
If Me.Combo1.Text <> “" Then
Me.Data1.Recordset.FindFirst ”name='“ & Combo1.Text & ”'“
If Me.Data1.Recordset.NoMatch Then
MsgBox ”请重新输入!“, 48, ”注意“ 未找到匹配的纪录,则显示提示
Combo1.Clear
Combo2.Clear
Else
Me.Data1.Recordset.FindFirst ”name='“ & Combo1.Text & ”'“ 查找
Combo2.Text = Data1.Recordset(”number“)显示
End If
End If
If Me.Combo2.Text <> ”“ Then 输入学号时
模拟成绩管理系统
Me.Data1.Recordset.FindFirst ”number='“ & Combo2.Text & ”'“
If Me.Data1.Recordset.NoMatch Then
MsgBox ”请重新输入!“, 48, ”注意“
Combo1.Clear
Combo2.Clear
Else
Me.Data1.Recordset.FindFirst ”number='“ & Combo2.Text & ”'“
Combo1.Text = Data1.Recordset(”name“)
End If End If Private grade As String * 5
grade =(Val(Text8.Text)* Val(Me.Text17.Text)+ Val(Text9.Text)* Val(Me.Text18.Text)+ Val(Text10.Text)* Val(Me.Text20.Text)+ Val(Text11.Text)* Val(Me.Text21.Text)+ Val(Text12.Text)* Val(Me.Text22.Text)+ Val(Text13.Text)* Val(Me.Text23.Text)+ Val(Text14.Text)* Val(Me.Text24.Text)+ Val(Text15.Text)* Val(Me.Text25.Text)+ Val(Text16.Text)* Val(Me.Text26.Text))/(Val(Me.Text17.Text)+ Val(Me.Text18.Text)+ Val(Me.Text20.Text)+ Val(Me.Text21.Text)+ Val(Me.Text22.Text)+ Val(Me.Text23.Text)+ Val(Me.Text24.Text)+ Val(Me.Text25.Text)+ Val(Me.Text26.Text))
计算加权成绩
Me.Text19.Text = grade End Sub
添加功能
点击“添加”按钮后,弹出新窗口,输入完整信息后,点击更新,如果信息 不完整,系统会提示“请输入完整数据!”。输入完成后,点击更新,数据便录入 数据表中,并返回初始界面,可继续输入。点击“取消”按钮后,退出窗口2,返回窗口一,继续进行其他操作。
模拟成绩管理系统
主要代码: 添加按钮
Private Sub Command3_Click()
inNum = 1
Form2.Show 1
End Sub 窗口二代码
Private Sub Command1_Click()
If Text1.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Or Text4.Text = ”“ Or Text5.Text = ”“ Or Text6.Text = ”“ Or Text7.Text = ”“ Or Text8.Text = ”“ Or Text9.Text = ”“ Or Text10.Text = ”“ Or Text11.Text = ”“ Or Text12.Text = ”“ Or Text13.Text = ”“ Or Text14.Text = ”“ Or Text15.Text = ”“ Or Text16.Text = ”“ Or Text17.Text = ”“ Or Text18.Text = ”“ Or Text20.Text = ”“ Or Text21.Text = ”“ Or Text22.Text = ”“ Or Text23.Text = ”“ Or Text24.Text = ”“ Or Text25.Text = ”“ Or Text26.Text = ”“ Then 提示输入完整数据
b = MsgBox(”请输入完整数据!“, 4 + 48, ”注意“)
Text1.SetFocus
Exit Sub
End If
With Data1
.Recordset.AddNew
.Recordset(”number“)= Text1.Text 将数据写入data1
.Recordset(”name“)= Text2.Text
.Recordset(”sex“)= Text3.Text
.Recordset(”birthday(year)“)= Text4.Text
……
.Recordset.Update
End With
Text1.Text = ”“: Text2.Text = ”“: Text3.Text = ”“: Text4.Text = ”“: Text5.Text = ”“: Text6.Text = ”“: Text7.Text = ”“: Text8.Text = ”“: Text9.Text = ”“: Text10.Text = ”“: Text11.Text = ”“: Text12.Text = ”“: Text13.Text = ”“: Text14.Text = ”“: Text15.Text = ”“: Text16.Text = ”“: Text17.Text = ”“: Text18.Text = ”“: Text20.Text = ”“: Text21.Text = ”“: Text22.Text = ”“: Text23.Text = ”“: Text24.Text = ”“: Text25.Text = ”“: Text26.Text = ”“: Text1.SetFocus End Sub Private Sub Command2_Click()
Unload Me
点击取消按钮时
Form1.Show
End Sub
窗口二与data1数据表连接
Private Sub Form_Load()
Me.Data1.DatabaseName = App.Path + ”201322020301-吕天翔.mdb“
Me.Data1.RecordSource = ”grade management“
模拟成绩管理系统
End Sub
修改功能
点击“修改”按钮后,按钮消失,‘保存’按钮出现,同时课程学分部分显现,可一并修改,修改完成后,点击保存,显示警告“当前记录将被修改,确定修改?”
点击确定,完成修改,并回到初始界面。
主要代码: 点击修改按钮
Private Sub Command4_Click()
Me.Text17.Visible = True
Me.Text18.Visible = True
Me.Text20.Visible = True
Me.Text21.Visible = True
Me.Text22.Visible = True
Me.Text23.Visible = True
Me.Text24.Visible = True
Me.Text25.Visible = True
Me.Text26.Visible = True
Label8(2).Visible = True
Me.Command3.Visible = False
Me.Command4.Visible = False
Me.Command5.Visible = False
Me.Command6.Visible = False
Me.Command10.Visible = True End Sub 点击保存按钮
调整 课程学分部分 可见性
调整按钮可见性
显示提示
选择“否”时选择退出 否则进入
写入
状态
模拟成绩管理系统
Private Sub Command10_Click()
a = MsgBox(”当前记录将被修改,确定修改?“, 4 + 48, ” 警告 “)
If a = vbNo Then Exit Sub
Me.Data1.Recordset.Edit
With Data1
.Recordset(”number“)= Text1
.Recordset(”name“)= Text2
.Recordset(”sex“)= Text3
… …
.Recordset(”transportation-xuefen“)= Me.Text24
.Recordset(”automobile-xuefen“)= Me.Text25
.Recordset(”engine-xuefen“)= Me.Text26
End With
Data1.Refresh
Combo1.Clear
Combo2.Clear
End Sub
删除功能
点击“删除”按钮后将弹出“当前记录将被删除,确认删除?”对话框,点击“是”按钮后,将当前记录从data1中删除,并更新data1;若点击“否”,则退出,返回初始界面。
主要代码:
Private Sub Command5_Click()
显示提示
a = MsgBox(”当前记录将被删除,确定删除?“, 4 + 48, ” 警告 “)
If a = vbNo Then Exit Sub
Me.Data1.Recordset.Delete
进行删除操作
Me.Data1.Refresh
更新data1
Combo1.Clear
Combo2.Clear End Sub
总评成绩计算
算法介绍
用课程学分部分数据与考试成绩计算总评成绩,课程学分部分通常隐藏在窗体中。
情况一 浏览时即显示总评成绩
模拟成绩管理系统
点击data控件按钮浏览数据的同时,该数据的总评成绩也同时显示。
主要代码: Private Sub Data1_Validate(Action As Integer, Save As Integer)
If Me.Data1.Recordset.EOF = True Then
如果当前界面没有显示数据
Me.Data1.Recordset.Movefirst
为防止浏览时出错
Else
grade =(Val(Text8.Text)* Val(Me.Text17.Text)+ Val(Text9.Text)*
Val(Me.Text18.Text)+ Val(Text10.Text)* Val(Me.Text20.Text)+ Val(Text11.Text)*
Val(Me.Text21.Text)+ Val(Text12.Text)* Val(Me.Text22.Text)+ Val(Text13.Text)*
Val(Me.Text23.Text)+ Val(Text14.Text)* Val(Me.Text24.Text)+ Val(Text15.Text)*
Val(Me.Text25.Text)+ Val(Text16.Text)* Val(Me.Text26.Text))/(Val(Me.Text17.Text)+
Val(Me.Text18.Text)+ Val(Me.Text20.Text)+ Val(Me.Text21.Text)+ Val(Me.Text22.Text)
+ Val(Me.Text23.Text)+ Val(Me.Text24.Text)+ Val(Me.Text25.Text)+
Val(Me.Text26.Text))
总评成绩的计算
Me.Text19.Text = grade
End If End Sub
情况二:查询时即显示其总评成绩
计算方法相同,此处不再赘述。
排名功能
点击“排名”按钮后,根据总评成绩大小,在list控件中显示当前数据的排名情况,可以同时显示“名次”“姓名”“总评成绩”;同时在删除或添加部分数据后,能重新计算排名,此处通过动态数组实现显示个数随数据个数同时变化。
算法介绍:
添加一个text控件,用来存放当前窗口的总评成绩。使用data1控件的movefirst,movenext,eof 等属性完成数据库“数据个数计算”“所有数据姓名与成绩的提取与匹配”,使用动态数组完成数据存放;利用循环完成赋值及大小比较,最后通过list显示出来。
主要代码:
Private Sub Command8_Click()
Do Until Me.Data1.Recordset.EOF = True
Me.Data1.Recordset.Movenext
h = h + 1
Loop
模拟成绩管理系统
Me.Data1.Recordset.Movefirst
Dim t As String
Dim w As String
ReDim a(h, 2)As String * 5
定义与数据个数相同行数的二位动态数组
Do Until Me.Data1.Recordset.EOF = True
Me.Text27.Text =(Val(Text8.Text)* Val(Me.Text17.Text)+ Val(Text9.Text)* Val(Me.Text18.Text)+ Val(Text10.Text)* Val(Me.Text20.Text)+ Val(Text11.Text)* Val(Me.Text21.Text)+ Val(Text12.Text)* Val(Me.Text22.Text)+ Val(Text13.Text)* Val(Me.Text23.Text)+ Val(Text14.Text)* Val(Me.Text24.Text)+ Val(Text15.Text)* Val(Me.Text25.Text)+ Val(Text16.Text)* Val(Me.Text26.Text))/(Val(Me.Text17.Text)+ Val(Me.Text18.Text)+ Val(Me.Text20.Text)+ Val(Me.Text21.Text)+ Val(Me.Text22.Text)
+ Val(Me.Text23.Text)+ Val(Me.Text24.Text)+ Val(Me.Text25.Text)+ Val(Me.Text26.Text))Text27中存放当前数据的成绩
a(i, 1)= Text2.Text
a(i, 2)= Text27.Text 把姓名和成绩赋值给数组
i = i + 1
Me.Data1.Recordset.Movenext
Loop
For i = 1 To h
For j = i + 1 To h
If a(i, 2)< a(j, 2)Then
t = a(i, 1)
w = a(i, 2)对数组中的成绩进行比较并重新排序
a(i, 1)= a(j, 1)
a(i, 2)= a(j, 2)
a(j, 1)= t
a(j, 2)= w
End If
Next
Next
p = ” 第 “ & k & ” 名 “ & a(1, 1)& a(1, 2)
List1.AddItem p
List1.AddItem ”“ 输出排序
For i = 2 To h
k = k + 1
p = ” 第 “ & k & ” 名 “ & a(i, 1)& a(i, 2)
List1.AddItem p
List1.AddItem ”“
Next
Text19.Text = ”"
End Sub
模拟成绩管理系统
课程学分的显示及修改功能
通过点击 课程学分显示 按钮,课程学分部分变为可见,并可通过点击修改按钮进行修改,点击 返回 按钮后,该部分继续隐藏。
浏览功能
通过点击data1控件按钮进行浏览。