如何解决所以我希望程序在用户输入“N”时计算用户输入的成绩
我创建了一个名为 grades 的数组,提示用户输入一个成绩,然后它会询问用户他/她是否想输入更多成绩。用户只需要再次输入一个等级,然后按N,如果用户想停止输入等级,程序应该开始计算等级。但我被困在这里。
这是我的代码:
Sub Main()
Dim inputhere,a,b As Integer
Dim prompt As String
a = 0
Dim grades(a) As Integer
Console.Write("Enter Grade: ")
inputhere = Console.ReadLine()
grades(0) = inputhere
While True
Console.Write("Enter Again [Y/N]: ")
prompt = Console.ReadLine()
If prompt = "Y" Then
b = a + 1
Console.Write("Enter Grade: ")
inputhere = Console.ReadLine()
grades(a) = inputhere
ElseIf prompt = "N" Then
grades(a) += inputhere / b
Console.Write("Average: ")
End If
End While
Console.ReadKey()
End Sub
所以结果是它不计算成绩而是继续循环。
解决方法
您没有任何退出条件。所以要么你强制它要么改变你的循环条件
这里有两个选项:
- 在您的计算块中添加一个
Exit While
:
While True
' ....
If prompt = "Y" Then
' ....
ElseIf prompt = "N" Then
grades(a) += inputhere / b
Console.Write("Average: ")
Exit While
End If
End While
- 改变你的 while 条件
Dim keepAsking As Boolean
keepAsking = True
While keepAsking
' ....
If prompt = "Y" Then
' ....
ElseIf prompt = "N" Then
grades(a) += inputhere / b
Console.Write("Average: ")
keepAsking = False
End If
End While
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。