溢出问题,初学VB.
下面是我自己编的VB的小程序,就是不明白为什么会是溢出问题,希望大家给点意见.谢谢.
程序1:
Private Sub Command1_Click() '按钮事件
Dim sum As Double '每项的和
Dim item As Double '每项的值
Dim n As Integer
sum = 2 * 2 / 3
n = 4
item = 2 * 2 / 3
Do While item > 0.0000001
item = CDbl((n * n) / ((n - 1) * (n + 1)))
sum = sum * item
n = n + 2
Loop
Print sum
End Sub
程序2:
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim sum As Integer
Dim k As Long
sum = 0
For i = 1 To 10
k = 1
For j = 1 To i
k = k * j
Next j
sum = sum + k
Next i
Print sum
End Sub
以上是我的程序,顺便问一句VB里面能不能设置成和VC里面一样自动排齐代码的.怎么做?
问题点数:40、回复次数:8Top
1 楼ainibaobao(牛牛宝宝)回复于 2005-05-15 10:30:54 得分 0
第2题知道了,呵呵.Top
2 楼MmMVP(杜霖:(现在是DooDu的马甲。。))回复于 2005-05-15 10:38:17 得分 40
1。程序算法问题,item无限趋近于1恒有item > 0.0000001,n无法收敛,又是死循环,当然溢出了!
Private Sub Command1_Click() '按钮事件
Dim sum As Double '每项的和
Dim item As Double '每项的值
Dim n As Long'这里改了
sum = 2 * 2 / 3
n = 4
item = 2 * 2 / 3
Do While item - 1 > 0.0000001'这里改了
item = CDbl((n * n) / ((n - 1) * (n + 1)))
sum = sum * item
n = n + 2
Loop
Print sum
End Sub
Top
3 楼MmMVP(杜霖:(现在是DooDu的马甲。。))回复于 2005-05-15 10:41:06 得分 0
你是求pi吧?Top
4 楼ainibaobao(牛牛宝宝)回复于 2005-05-15 10:58:30 得分 0
知道了,谢谢.
PI是什么啊?Top
5 楼MmMVP(杜霖:(现在是DooDu的马甲。。))回复于 2005-05-15 11:01:52 得分 0
3.141592653……………………………………………………………………Top
6 楼ainibaobao(牛牛宝宝)回复于 2005-05-15 11:07:20 得分 0
哦...是的..呵呵Top
7 楼ainibaobao(牛牛宝宝)回复于 2005-05-15 11:07:43 得分 0
谢谢...Top
8 楼ainibaobao(牛牛宝宝)回复于 2005-05-15 11:18:01 得分 0
还有一个题有问题.如下:
Private Sub Command1_Click()
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim s As Double
a = Tex_a.Text
b = Tex_b.Text
c = Tex_c.Text
If (a < b + c) And (a > Abs(b - c)) Then
d = (a + b + c) / 2
s = Sqr(d * (d - a) * (d - b) * (d - c))
Picture1.Print "三角形的面积是:"
Picture1.Print s
Else
Picture1.Print "输入的三条边不能构成三角形!"
End If
End Sub
如果Tex_a.Text中的内容为空的话就会出错,我如何判断Tex_a.Text中的内容为空了?Top




