在VB中计算学生成绩和平均值
A. 高手帮忙。。如何用vb读入文件并计算成绩平均分阿。
Private Sub Command1_Click()
Dim A() As String, B As String, C As Single
Open "c:\1,txt" For Input As #1 '打开文件,请修改实际文件名
Me.Cls
Print "学 号专 姓 名 平均属分"
Do While Not EOF(1)
Line Input #1, B
If B <> "" Then
A = Split(B, " ")
C = (Val(A(2)) + Val(A(3)) + Val(A(4))) / 2
Print A(0) & " " & A(1) & " " & Format(C, "0.0")
End If
Loop
Close #1
End Sub
B. vb保存100个学生成绩计算平均分,并把成绩分为10段,0~9分,10~19分,20~29分,以此
Private Sub Command1_Click()
Dim marks(99) As Integer, cnts(10) As Integer
Randomize
s = 0
For i = 0 To 99
marks(i) = Int(Rnd * 101)
s = s + marks(i)
Print Tab(5 * (i Mod 10)); marks(i);
If i Mod 10 = 9 Then Print
t = marks(i) 10
If t = 10 Then t = 9
cnts(t) = cnts(t) + 1
Next i
For i = 0 To 8
Print i * 10; "~"; i * 10 + 9; ": "; cnts(i)
Next i
Print " 90 ~ 100: "; cnts(9)
End Sub
C. vb输入10个同学的成绩,计算平均分和总分
Dim A(1 To 10) As Single。
Private Sub Command1_Click()。
'请在第一个文本中输入成绩,成绩之间用空格隔开。
Dim s As String
s = Trim(Text1.Text)
d = Split(s, " ")
ReDim A(1 To UBound(d) + 1) As Single
For i = 1 To UBound(A)
A(i) = d(i - 1)
Next
End Sub
Private Sub Command2_Click()
maxn = A(1)
For i = 2 To UBound(A)
(3)在VB中计算学生成绩和平均值扩展阅读
vb.net特性:
1、vb.net 完全集成到 Visual Studio 集成开发环境中,在这种集成开发环境与 VB 在若干方面有差异。主要体现在窗体的布局以及菜单等方面都有所不同。
2、vb.net 项目与 VB 不同。它使用基于文件夹的模型,所有项目均放置在项目文件夹层次结构中。
3、vb.net 中使用ado.net来访问数据库,ado.net是.netFramework的一部分。在 vb.net 中实现数据访问的方法主要有两种。
其一是在程序设计阶段,通过创建、配置数据适配器 DataAdapter 和生成数据集 DataSet;其二是在运行中,通过编程方式动态创建配置数据适配器和创建、生成数据集。
D. VB编程如何计算平均数
新建工程,1个文本框和1个按钮
text1用来录入数据, 因为是任意个数,用很多文本框是不方专便的,程序设属计是使用","来分隔数字,你可以输入任意多个数字,然后按钮command1后,就可以显示总和及平均值.
Private Sub Command1_Click()
If Len(Text1) = 0 Then Exit Sub
If InStr(Text1, ",") < 2 Then Exit Sub
Dim a, sumn%, i%, j%
a = Split(Text1, ",")
For i = 0 To UBound(a)
If IsNumeric(Val(a(i))) Then '防止有非数字的情况发生,做一下校验
sumn = sumn + Val(a(i))
j = j + 1
End If
Next
Print "总和为:" & sumn
Print "平均数为:" & sumn / (UBound(a) + 1)
End Sub
E. 如何用VB计算加权平均分
Private Sub Command1_Click()
Open App.Path + "\score.txt" For Input As #1
Dim linetxt As String
Dim AvgScore() As Double
If Not EOF(1) Then
Line Input #1, linetxt '过滤掉第一行的标题
End If
Dim all() As StuInfo
Counter = 0
Do While Not EOF(1) '读数据
Line Input #1, linetxt
If Len(Trim(linetxt)) > 0 Then
arr = Split(linetxt, " ")
If UBound(arr) >= 3 Then
Counter = Counter + 1
ReDim Preserve all(Counter) As StuInfo
With all(Counter)
.Id = arr(0)
.StuName = arr(1)
.English = CDbl(arr(2))
.Math = CDbl(arr(3))
.AvgScore = Round((.English * 4 + .Math * 6) / (4 + 6), 2)
End With
End If
End If
Loop
Close #1
'排序
ReDim ord(Counter) As Integer '初始化
For i = 1 To UBound(ord)
ord(i) = i
Next
For i = 1 To UBound(ord) '排序ing
For j = i + 1 To UBound(ord)
If all(ord(i)).AvgScore < all(ord(j)).AvgScore Then
ord(0) = ord(i)
ord(i) = ord(j)
ord(j) = ord(0)
End If
Next
Next
For i = 1 To UBound(ord) '按名次排序
all(ord(i)).No = i
Next
'按照名次显示(两段代码选其中一段)
Print "学号 姓名 英语 数学 平均 名次 (按名次排)" 'print title
For i = 1 To UBound(ord)
With all(ord(i))
tmp = .Id + " " + .StuName + " " + CStr(.English) + " " + CStr(.Math) + " " + CStr(.AvgScore) + " " + CStr(.No)
Print tmp
End With
Next
'按读入顺序显示(两段代码选其中一段)
Print "学号 姓名 英语 数学 平均 名次 (按读取顺序排)" 'print title
For i = 1 To UBound(ord)
With all(i)
tmp = .Id + " " + .StuName + " " + CStr(.English) + " " + CStr(.Math) + " " + CStr(.AvgScore) + " " + CStr(.No)
Print tmp
End With
Next
End Sub
F. vb试题:任意输入N个学生的成绩,计算平均分,并输出n名学生的成绩及平均分。急求,勿水,急求,在线
Private Sub Command1_Click()
Dim n As Integer
Dim show As String
Dim a()
n = CInt(InputBox("输入学来生数自"))
ReDim a(n)
For i = 1 To n
a(n) = CInt(InputBox("请输入第 " & CStr(i) & " 名学生成绩"))
average = average + a(n)
Next i
For i = 1 To n
show = show & "第 " & CStr(i) & " 名成绩" & Chr(13)
Next i
average = average / n
show = show & "平均值:" & average & Chr(13)
MsgBox show
End Sub
G. vb中一个计算平均分的问题
1)
For i = 0 To n - 1
mark(n - 1) = Int((101) * Rnd() + 0) ' 错误,修改如下:
mark(i) = Int((101) * Rnd() + 0)
t = t + mark(i)
Next
2)
Label2 .Text &= mark(n - 1) & " " ‘VB 可以这么做吗??
Label2 .Text =Label2 .Text & mark(n - 1) & " "
3)
For i = 0 To n - 1
If mark(i) > aver Then
n += 1 'C,C++,回Java,c# 可以这样做,VB也可以了吗答????
End If
Next
TextBox2.Text = n
修改如下:
dim c as integer
c=0
For i = 0 To n - 1
If mark(i) > aver Then
c=c+1;
End If
Next
TextBox2.Text = c
H. 计算每门课程的总和和平均分(vb)
总和:k=k+a(x,y)
平均分:p=k/5
I. 输入若干学生成绩输出所有成绩并计算显示最大最小及平均值用vb语言写的程序
Dima(10)AsInteger,avgAsInteger=0,sumAsInteger=0,maxAsInteger,minAsInteger,tempAsInteger,stAsString=""
Fori=1To10
a(i)=Val(InputBox("请输入第"&i&"个学生的数学成绩"))
Next
Fori=1To10
sum=sum+a(i)
Next
avg=sum/10
Fori=1To10
Forj=1To10-i
Ifa(j)<a(j+1)Then
temp=a(j+1)
a(j+1)=a(j)
a(j)=temp
EndIf
Nextj
Nexti
max=a(1)
min=a(10)
st=st&"学生的数学成绩总和是"&sum&vbCrLf
st=st&"学生的数学成绩平均是"&avg&vbCrLf
st=st&"学生的数学成绩最高是"&max&vbCrLf
st=st&"学生的数学成绩最低是"&min&vbCrLf
TextBox6.Text=st