KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

请问一道简单的VB题……

[ 7725 查看 / 25 回复 ]

求三个数的平均数

我的代码如下:
Private Sub Command1_Click()
d = (a + b + c) / 3
  End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Dim a As Single, b As Single, c As Single, d As Single
Text1.Text = a
Text2.Text = b
Text3.Text = c
Text4.Text = d

End Sub

运行结果都是0…………



不知道该怎么弄啊[:Cry:]

Help!
分享 转发
期待新作~
TOP

回复:请问一道简单的VB题……

首先你的A,B,C,D都没有付初始值,所以VB自动付了0。
其次你的A,B,C,D都是Form_Load的局部变量,Command1_Click()里面是访问不到的
其实如果你开了Option Explicit的话,你就会发现你的程序还有编译错误...
因为VB默认是不用申明变量就能使用的
2007/2/20凌晨01:14:45,获得称号「大骗子」
orz

QQ群 宅在日本 74481628
宅女腐女招募中
http://www.otkjp.cn/
TOP

回复:请问一道简单的VB题……

那么……怎么做……一头雾水……
期待新作~
TOP

回复:请问一道简单的VB题……

Dim a As Single, b As Single, c As Single, d As Single

Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text
c = Text3.Text
d = (a + b + c) / 3
Text4.Text = d
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()
Text1.Text = a
Text2.Text = b
Text3.Text = c
Text4.Text = d
End Sub

最简单的话,这么改应该就行了,其实做得好一点的话,还可以把公式抽到外面去...=v=
2007/2/20凌晨01:14:45,获得称号「大骗子」
orz

QQ群 宅在日本 74481628
宅女腐女招募中
http://www.otkjp.cn/
TOP

回复:请问一道简单的VB题……

啊^_^ 好了^_^ 谢谢咪^_^

公式抽到外面是……?



form load和 click为什么都需要
a = Text1.Text
b = Text2.Text
c = Text3.Text
这几个式子?
最后编辑helenzhu 最后编辑于 2007-09-25 19:11:16
期待新作~
TOP

回复:请问一道简单的VB题……

看你这个程序大致可以猜出你想做点什么..
就是在画面上输入三个数字,然后按一个按钮,把这三个数字的平均值写到另一个框中。

如果我说的没错的话……
那么你把画面上的三个框填写完毕之后,只是改变了Text1.Text ~ Text3.Text的值而已,
a,b,c的值完全没有变,所以d = (a + b + c) / 3的结果也不会变,永远是0

那么要让他变的话,只有把Text的值赋到相应的变量里去,计算完毕后再把结果写回Text4.Text中,才能在画面中看到结果...

另外,公式抽到外面这句话就当我自言自语吧....对新人讲这个会越讲越糊...orz
2007/2/20凌晨01:14:45,获得称号「大骗子」
orz

QQ群 宅在日本 74481628
宅女腐女招募中
http://www.otkjp.cn/
TOP

回复:请问一道简单的VB题……

那么要让他变的话,只有把Text的值赋到相应的变量里去,计算完毕后再把结果写回Text4.Text中,才能在画面中看到结果...

嗯……这句话 是哪些式子起作用的?
期待新作~
TOP

回复:请问一道简单的VB题……

国家二级刚刚过去.....[:Admire:]

站在最低点,仰望最高处
TOP

回复:请问一道简单的VB题……

起计算作用的是d = (a + b + c) / 3
画面上表示作用的Text1.Text ~ Text4.Text
要做的就是在这两个之前做映射
2007/2/20凌晨01:14:45,获得称号「大骗子」
orz

QQ群 宅在日本 74481628
宅女腐女招募中
http://www.otkjp.cn/
TOP

回复:请问一道简单的VB题……

我會這樣寫:

======

Private Sub Command1_Click()
Text4.Text = CStr((CSng(Text1.Text) + CSng(Text2.Text) + CSng(Text3.Text)) / 3)
End Sub

======

我不明白為什麼不教用 a = CSng(Text1.Text) 即把型別轉換都寫進去.
沒那概念而習慣用Varient的話, 以後學其他Language時會很麻煩的...

EDIT: 即使繼續寫VB也很麻煩的... 好像我這樣用一行式寫而不做型別轉換的話, 如果Text1到Text3的內容分別是2, 3, 4的話, Text4的內容就會是(234 / 3) = 78而不是3了
最后编辑cheong00 最后编辑于 2007-09-25 23:17:39
TOP