Vba 使用While或Until循环的平均等级
我正在学习一门在线Visual Basic编程1课程,课程内容很少。我在每项作业上都花了几个小时,通常可以通过查找和测试来找到帮助。我无法找到这方面的帮助(或者我在另一种语言中找到它,我不知道如何翻译成VB控制台)。我要求用户输入测试分数。我的问题是我不知道他们会输入多少分数。我需要这个数字,以便计算平均值并返回分数Vba 使用While或Until循环的平均等级,vba,visual-studio-2012,console-application,Vba,Visual Studio 2012,Console Application,我正在学习一门在线Visual Basic编程1课程,课程内容很少。我在每项作业上都花了几个小时,通常可以通过查找和测试来找到帮助。我无法找到这方面的帮助(或者我在另一种语言中找到它,我不知道如何翻译成VB控制台)。我要求用户输入测试分数。我的问题是我不知道他们会输入多少分数。我需要这个数字,以便计算平均值并返回分数 Module Module1 Sub Main() Dim testScore As Integer = 1 Dim scoreSum A
Module Module1
Sub Main()
Dim testScore As Integer = 1
Dim scoreSum As Integer = 0
Dim numberOfScore As Integer
Dim average As Integer
Console.WriteLine("Enter all the test scores. When you are done enter 0. ")
Do While (testScore <> 0)
testScore = Console.ReadLine()
scoreSum = scoreSum + testScore
numberOfScore += testScore
average = scoreSum / numberOfScore
Console.Write(scoreSum.ToString)
Loop
Console.WriteLine("The average is " + (scoreSum / numberOfScore).ToString())
If (average >= 90) Then
Console.WriteLine("Your Grade is A ")
ElseIf (average >= 80) Then
Console.WriteLine("Your Grade is B ")
ElseIf (average >= 70) Then
Console.WriteLine("Your Grade is C ")
ElseIf (average >= 60) Then
Console.WriteLine("Your Grade is D ")
Else
Console.WriteLine("Your Grade is F. " & "You will have to repeat this course. ")
End If
Console.ReadLine()
End Sub
End Module
模块1
副标题()
将testScore设置为整数=1
分数总和为整数=0
Dim numberOfScore作为整数
将平均值设置为整数
Console.WriteLine(“输入所有测试分数。完成后输入0。”)
边做边做(测试分数0)
testScore=Console.ReadLine()
scoreSum=scoreSum+testScore
numberOfScore+=测试分数
平均值=总分/总分数
Console.Write(scoreSum.ToString)
环
WriteLine(“平均值为”+(scoreSum/numberOfScore.ToString())
如果(平均值>=90),则
Console.WriteLine(“你的成绩是A”)
ElseIf(平均值>=80)则
Console.WriteLine(“你的成绩是B”)
ElseIf(平均值>=70)则
Console.WriteLine(“你的成绩是C”)
ElseIf(平均值>=60)则
Console.WriteLine(“你的成绩是D”)
其他的
Console.WriteLine(“你的成绩是F.”和“你必须重复这门课程。”)
如果结束
Console.ReadLine()
端接头
端模块
您需要将numberOfScore
增加1,而不是testScore
。平均值是分数的总和。Sub Main()
Sub Main()
Dim testScore As Integer = 1
Dim scoreSum As Integer = 0
Dim numberOfScore As Integer
Dim average As Integer
Console.WriteLine("Enter all the test scores. When you are done enter 0. ")
testScore = Console.ReadLine()
Do
scoreSum = scoreSum + testScore
numberOfScore += 1
average = scoreSum / numberOfScore
Console.Write(scoreSum.ToString)
testScore = Console.ReadLine()
Loop While (testScore <> 0)
Console.WriteLine("The average is " + (scoreSum / numberOfScore).ToString())
If (average >= 90) Then
Console.WriteLine("Your Grade is A ")
ElseIf (average >= 80) Then
Console.WriteLine("Your Grade is B ")
ElseIf (average >= 70) Then
Console.WriteLine("Your Grade is C ")
ElseIf (average >= 60) Then
Console.WriteLine("Your Grade is D ")
Else
Console.WriteLine("Your Grade is F. " & "You will have to repeat this course. ")
End If
Console.ReadLine()
End Sub
将testScore设置为整数=1
分数总和为整数=0
Dim numberOfScore作为整数
将平均值设置为整数
Console.WriteLine(“输入所有测试分数。完成后输入0。”)
testScore=Console.ReadLine()
做
scoreSum=scoreSum+testScore
numberOfScore+=1
平均值=总分/总分数
Console.Write(scoreSum.ToString)
testScore=Console.ReadLine()
循环时间(testScore 0)
WriteLine(“平均值为”+(scoreSum/numberOfScore.ToString())
如果(平均值>=90),则
Console.WriteLine(“你的成绩是A”)
ElseIf(平均值>=80)则
Console.WriteLine(“你的成绩是B”)
ElseIf(平均值>=70)则
Console.WriteLine(“你的成绩是C”)
ElseIf(平均值>=60)则
Console.WriteLine(“你的成绩是D”)
其他的
Console.WriteLine(“你的成绩是F.”和“你必须重复这门课程。”)
如果结束
Console.ReadLine()
端接头
@SB这很有帮助,但肯定还有另一个错误。我平均98,3次。结果是平均分不正确,给了我“C”分。非常感谢。这是因为代码会将零作为分数,而不是将总数除以4,这可能会得到C分数。98*3=294是总数。294/4=73.5 average=“C”。