Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用While或Until循环的平均等级_Vba_Visual Studio 2012_Console Application - Fatal编程技术网

Vba 使用While或Until循环的平均等级

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

我正在学习一门在线Visual Basic编程1课程,课程内容很少。我在每项作业上都花了几个小时,通常可以通过查找和测试来找到帮助。我无法找到这方面的帮助(或者我在另一种语言中找到它,我不知道如何翻译成VB控制台)。我要求用户输入测试分数。我的问题是我不知道他们会输入多少分数。我需要这个数字,以便计算平均值并返回分数

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”。