vb显示学生学号与成绩
① 一个学生姓名学号成绩就行排序的vb程序
order by 成绩 desc 降序
order by 成绩 asc 升序
② vb编程:输入学生的姓名,学号和成绩。成绩包括高数、英语和专业课,判断该生能获几等奖并输出。
代码如下。
======================
Private Sub Command1_Click()
Dim name As String, num As Integer, s1 As Single, s2 As Single, s3 As Single, s As String
name = InputBox("输入学生的姓名")
num = Val(InputBox("输入学生的学号"))
s1 = Val(InputBox("输入高数成绩"))
s2 = Val(InputBox("输入英语成绩"))
s3 = Val(InputBox("输入专业课成绩"))
If s1 > 95 And s2 > 95 And s3 > 95 Then
s = "一等"
Else
If s1 > 90 And s2 > 90 And s3 > 90 Then
s = "二等"
Else
If s1 > 88 And s2 > 88 And s3 > 88 Then
s = "三等"
Else
s = "无奖"
End If
End If
End If
MsgBox "学生" + name + "(学号" + Str(num) + ")的成绩是" + vbCrLf + s
End Sub
③ vb要建立一个学生成绩的随机文件,如下定义了学生的记录类型,由学号、姓名、三门课程成绩(百分制)组成
为什么要name要String *10呢?这里的*10是什么意思?
随机记录以固定长度写在文件中的版。* 10表示了name中可以储存10个字权符(字母或汉字)。
OptionExplicit
PrivateTypestudl
noAsInteger
nameAsString*10
score(1To3)AsSingle
EndType
PrivateSubCommand1_Click()
DimaAsstudl
a.no=12345
a.name="努努house"
a.score(1)=100
a.score(2)=98
a.score(3)=110
Printa.name
Printa.no
Printa.score(1)
Printa.score(2)
Printa.score(3)
PrintLenB(a)
PrintLen(a)
EndSub
说明一条记录的字节长度是36字节(Byte)。
④ 请教一道VB编程题:从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号、成绩,并根据成绩按下
并根据成绩按下?
⑤ vb随机生成30个学生的成绩,并按照成绩和学号排序
’随机生成学号及分数
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
List1.Items.Clear()
DimBAsInteger
ForB=1To30
stdscore(B,2)=Int(Rnd()*90)+10
stdscore(B,1)=B
List1.Items.Add(""&stdscore(B,1)&""&stdscore(B,2))
NextB
EndSub
‘下面是按照分数排序
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
Dimj,kAsInteger
Dimmaxl,mankAsInteger
List1.Items.Clear()
Fork=1To30
Forj=1To30-k
Ifstdscore(j,2)<stdscore(j+1,2)Then
maxl=stdscore(j+1,1)
mank=stdscore(j+1,2)
stdscore(j+1,2)=stdscore(j,2)
stdscore(j+1,1)=stdscore(j,1)
stdscore(j,2)=mank
stdscore(j,1)=maxl
EndIf
Nextj
Nextk
Fork=1To30
List1.Items.Add(""&stdscore(k,1)&""&stdscore(k,2))
Next
EndSub
'下面是按照学号排序
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
Dimj,kAsInteger
Dimmaxl,mankAsInteger
List1.Items.Clear()
Fork=1To30
Forj=1To30-k
Ifstdscore(j,1)>stdscore(j+1,1)Then
maxl=stdscore(j+1,1)
mank=stdscore(j+1,2)
stdscore(j+1,2)=stdscore(j,2)
stdscore(j+1,1)=stdscore(j,1)
stdscore(j,2)=mank
stdscore(j,1)=maxl
EndIf
Nextj
Nextk
Fork=1To30
List1.Items.Add(""&stdscore(k,1)&""&stdscore(k,2))
Next
EndSub
⑥ 用ACCESS和VB做学生成绩查询系统~数据库已做好~VB的代码该怎么写~(包括学号,姓名,班级查询) 跪求高手
很简单呀! 你先启动VisualBasic6.0 然后 创立标准EXE
添加 access 数据的控件 添加的方法。 第一进入 "工程(P)" → "引用(N)" ... 打开窗口找到 Microsoft ActiveX Datam Objects 2.0 Library 选择(打对号), FORM1 添加一个Listbox控件,然后打开“查看代码” 窗口 输入下面的代码:
Public imu As Boolean
Public flag As Integer 'ìí?óoíDT??μ?±ê??
Public iflag As Integer 'êy?Y?aê?2?′ò?a±ê??
Public RS As ADODB.Recordset
Public SQL As String
Public Function TransactSQL(ByVal SQL As String) As ADODB.Recordset
Dim con As ADODB.Connection
Dim RS As ADODB.Recordset
Dim strConnection As String
Dim strArray() As String
Set con = New ADODB.Connection '′′?¨á??ó
Set RS = New ADODB.Recordset '′′?¨?????ˉ
On Error GoTo TransactSQL_Error
strConnection = "Provider=Microsoft.jet.oledb.4.0;Data Sourc e=" & "D:\Test.mdb;persist security info=false; jet oledb:database password=pnurkim32"
strArray = Split(SQL)
con.Open strConnection '′ò?aá??ó
If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then
RS.Open Trim$(SQL), con, adOpenKeyset, adLockOptimistic
Set TransactSQL = RS '·μ???????ˉ
iflag = 1
Else
con.Execute SQL '?′DD?üá?
iflag = 1
End If
TransactSQL_Exit:
Set RS = Nothing
Set con = Nothing
Exit Function
TransactSQL_Error:
MsgBox "2é?ˉ′í?ó£o" & Err.Description
iflag = 2
Resume TransactSQL_Exit
End Function
Sub Display()
SQL = "select * from Words" ‘ Words是Test数据文件的某一个表
Set RS = TransactSQL(SQL)
If RS.EOF = True Then
RS.MoveFirst
Else
While Not RS.EOF
List1.AddItem RS.Fields("English") ‘ Engilis 表示 Words表的某一个趔
RS.MoveNext
Wend
End If
RS.Close
End Sub
Private Sub Form_Load()
Display
End Sub
试试吧!
⑦ VB输入N个学生的学号和成绩,打印出成绩最高者的学号和成绩
我用5个学生来设计,用结构体,效果图如下:
PrivateTypestu
idAsInteger
fsAsLong
EndType
Dima(4)Asstu
DimiAsInteger
PrivateSubCommand1_Click()
Picture1.AutoRedraw=True
Ifi>=5Then
MsgBox("最多只能输入个学生信息"):Text1.Text="":Text2.Text=""
Text1.Locked=True:Text2.Locked=True
Else
IfText1=""OrText2=""Then
N=MsgBox("请认真填写学生的基本信息",0+48,"提示")
IfText1=""ThenText1.SetFocus
IfText2=""ThenText2.SetFocus
Else
Witha(i)
.id=Val(Text1)
.fs=Val(Text2)
Picture1.Printi+1;Tab(6);.id;Tab(13);.fs
EndWith
Text1="":Text2=""
i=i+1
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
DimtAsstu
Picture2.Cls
Picture2.AutoRedraw=True
imax=0
ForN=1Toi-1
Ifa(N).fs>a(imax).fsThenimax=N
NextN
Picture2.Print"成绩最高分是学号";a(m).id;Spc(2);"分数为";a(m).fs
⑧ 在vb中制作显示学生学号与成绩的程序,怎么才能在标签中显示最高分及与之对应的学号
基本原理和这个通讯录数据处理程序相似,提问者稍加修改就可以使用。
clear
set safe off
use txl
text
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※ 1.输入 2.修改 3.插入 4.删除 ※
※ 5.按姓名升序显示 6.按邮政编码升序显示 ※
※ 7.按姓名查询 8.退出 ※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
endtext
input "请按数字键选择" to aa
do case
case aa=1
go bott
accept "请输入姓名:" to xm
accept "请输入性别:" to xb
accept "请输入电话号码:" to dhhm
accept "请输入家庭住址:" to jtzz
accept "请输入工作单位:" to gzdw
accept "请输入邮政编码:" to yzbm
repl 姓名 with xm,性别 with xb, 电话号码 with dhhm,家庭住址 with jtzz,工作单位 with gzdw,邮政编码 with yzbm
case aa=2
input"请输入您要修改的记录的编号:" to c
go c
? "请修改第"+str(c,1)+"个人的数据!"
disp
accept "请输入姓名:" to xm
accept "请输入性别:" to xb
accept "请输入电话号码:" to dhhm
accept "请输入家庭住址:" to jtzz
accept "请输入工作单位:" to gzdw
accept "请输入邮政编码:" to yzbm
repl 姓名 with xm,性别 with xb, 电话号码 with dhhm,家庭住址 with jtzz,工作单位 with gzdw,邮政编码 with yzbm
case aa=3
append blank
accept "请输入姓名:" to xm
accept "请输入性别:" to xb
accept "请输入电话号码:" to dhhm
accept "请输入家庭住址:" to jtzz
accept "请输入工作单位:" to gzdw
accept "请输入邮政编码:" to yzbm
repl 姓名 with xm,性别 with xb, 电话号码 with dhhm,家庭住址 with jtzz,工作单位 with gzdw,邮政编码 with yzbm
case aa=4
input "请输入您想要删除的记录号" to d
go d
delete
accept "确认删除请按小写字母y,否则取消删除)" to e
if e="y"
pack
else
recall
endif
case aa=5
index on 姓名 to xm
list
case aa=6
index on 邮政编码 to yzbm
list
case aa=7
accept "请输入您要查询的姓名" to f
list for 姓名=f
case aa=8
wait "系统即将关闭" window timeout 3
exit
othe
messagebox("请重新选择",0+64,"出错了")
endc
set safe on
*这个程序能完成任务,不过界面不好。可以这样修改:
*新建一个表单(主表单,表单1),增加8个按钮,每个按钮的名称caption同上面程序中的菜单;再增加一个按钮,caption为“退出”,保存表单1。
*新建一个数据处理表单(表单2),向表单添加标签,caption为“姓名”,再增加一个文本控件text1,用来处理“姓名”数据;继续向表单添加标签,caption为“性别”,增加一个文本控件text2,用来处理“性别”数据;.........向表单添加标签,caption为“邮政编码”,再增加一个文本控件text6,用来处理“邮政编码”数据。把标签和文本控件适当整理齐整。增加一个按钮,caption 为“保存”,再增加一个按钮,caption为“退出”,
双击表单空白处,出现load事件,输入
thisform.text1.value=xm
thisform.text2.value=xb
thisform.text3.value=dhhm
thisform.text4.value=jtzz
thisform.text5.value=gzdw
thisform.text6.value=yzbm
输入完毕,关闭load事件,这是给表单2的几个控件赋初值。
双击“退出”按钮,输入
thisform.release
关闭事件,双击“保存”按钮,输入
repl 姓名 with thisform.text1.value,;
性别 with thisform.text2.value,;
电话号码 with thisform.text2.value,;
家庭住址 with thisform.text2.value,;
工作单位 with thisform.text2.value,;
邮政编码 with thisform.text2.value
保存表单2。
打开表单1,双击表单的空白处,出现load事件,输入:
set safe off
use txl
public xm,xb,dhhm,jtzz,gzdw,yzbm
双击“输入”按钮,输入
go bott
*下面给表单2赋初值
xm=姓名
xb=性别
dhhm=电话号码
jtzz=家庭住址
gzdw=工作单位
yzdm=邮政编码
do form 表单2
双击“修改”按钮,输入
input"请输入您要修改的记录的编号:" to c
go c
*下面给表单2赋初值
xm=姓名
xb=性别
dhhm=电话号码
jtzz=家庭住址
gzdw=工作单位
yzdm=邮政编码
do form 表单2
双击“插入”按钮,输入
appe blank
*下面给表单2赋初值
xm=姓名
xb=性别
dhhm=电话号码
jtzz=家庭住址
gzdw=工作单位
yzdm=邮政编码
do form 表单2
双击“删除”按钮,输入
input "请输入您想要删除的记录号" to d
go d
delete
accept "确认删除请按小写字母y,否则取消删除)" to e
if e="y"
pack
else
recall
endif
双击“按姓名升序显示”按钮,输入
index on 姓名 to xm
brow
双击“按邮政编码升序显示”按钮,输入
index on 邮政编码 to yzbm
brow
双击“按姓名查询”按钮,输入
accept "请输入您要查询的姓名" to f
brow for 姓名=f
双击“退出”按钮,输入
close data
set safe on
thisform.release
⑨ VB中如何利用数组将学生的成绩输出在form上,并与其学号一一对应
在对成复绩排序的同时,制学号也要同步调换,即在
temp = a(i): a(i) = a(p): a(p) = temp
的下面再加一行:
temp = b(i): b(i) = b(p): b(p) = temp
⑩ vb编程:输入学生的姓名,学号,语文成绩,英语成绩,数学成绩,计算每名学生的平均
我也有类似的问题啊!具体就是要做成下图的样子。