请问这段代码有什么问题?出在哪里?如何修改?

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:21:17
Private Sub Command3_Click()
Dim a, b, h As String
Dim l, v, s As Integer
a = InputBox("Type a", "Type a")
b = InputBox("Type b", "Type b")
l = Sqr(b ^ 2 - 2 * a * b + a ^ 2 + h ^ 2)
v = h * 3.14 * a ^ 2 / 3 + 3.14 * h * a * b / 3 + 3.14 * h * b ^ 2 / 3
s = l * 3.14 * a + l * 3.14 * b
Print "v=" & h * 3.14 * a ^ 2 / 3 + 3.14 * h * a * b / 3 + 3.14 * h * b ^ 2 / 3
Print "s=" & l * 3.14 * a + l * 3.14 * b
End Sub
另外我想把最后的v和s值在新的窗口上显示,该怎么输入代码?在什么地方加Unload Me代码?

兄弟,字符串是不能进行这样的运算的
Private Sub Command3_Click()
Dim a, b, h As String
Dim l, v, s As Integer
a = Val(InputBox("Type a", "Type a"))
b = Val(InputBox("Type b", "Type b"))
h = Val(h)
l = Sqr(b ^ 2 - 2 * a * b + a ^ 2 + h ^ 2)
v = h * 3.14 * a ^ 2 / 3 + 3.14 * h * a * b / 3 + 3.14 * h * b ^ 2 / 3
s = l * 3.14 * a + l * 3.14 * b
Print "v=" & h * 3.14 * a ^ 2 / 3 + 3.14 * h * a * b / 3 + 3.14 * h * b ^ 2 / 3
Print "s=" & l * 3.14 * a + l * 3.14 * b
End Sub

a,b是String类型
a = val(InputBox("Type a", "Type a"))
b = val(InputBox("Type b", "Type b"))
还有,你的h是什么?没有赋值?怎么是字符串类型,字符串类型不能用于运算,只有数字类型的变量才能进行数学运算,运算前先转化为数值型val(h).