VB编程问题,vb function 缺少语句结束

PrivateSubCommand1_Click()DimaAsDouble,bAsDouble,cAsDouble,iAsIntegera=CDbl(Text1.Tex... Private Sub Command1_Click()
Dim a As Double, b As Double, c As Double, i As Integer
a = CDbl(Text1.Text)

End Sub
Function c(ByVal a As Double, ByVal b As Double, ByVal c As Double, ByVal i As Integer) As Double
b = 0
For i = 1 To 4
c = 1.005 * b + a
Return c
b = c
Next i
End Function
运行就显示语句结束,应该怎么改,另外怎么可以在text2里显示c的四个值,谢谢
急,在线等,
问题补充~:c的四个值,是指for-next 里面计算出来c的四个值
展开
 我来答
御剑晨风
2011-03-07 · TA获得超过717个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:578万
展开全部
结构问题吧,VB不是很熟,从.NET宏观角度来看,你把return写在循环里,表达的意思是不同的
调用结构其实是command_click -> function c -> for ... -> return function,
你每次都是开始了一个循环,执行了一次i=1时候的操作并返回,b=c,和 next i根本没有机会执行到……(关键概念,每次函数执行结束后,函数内的局部变量一般会被销毁,下次执行时候的局部变量其实是完全不同的新变量,从内存的角度来说,多次执行的局部变量不一定会使用相同的内存)
另,记得vb好像写for的话,需要有个end for的(不确定,有7-8年没写了吧)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoyuemt
2011-03-07 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3202
采纳率:64%
帮助的人:1659万
展开全部
1.在command1定义了c不能用c作为函数名来调用。
2. function b,c,i传递的参数都 是没有意义的。
3.如果要返回4个值只能将函数设成字符型的,返回字符串。或者直接赋值给text2
4.不能用Return c
5.函数中 b=0,所以 c=1.005*b+a始终=a,算法可能有错误,而且与i也没有关系啊。

Private Sub Command1_Click()
Dim a As Double, b As Double, c As Double, i As Integer
a = CDbl(Text1.Text)
Text2.Text = cc(a)
End Sub
Function cc(ByVal a As Double)
b = 0
For i = 1 To 4
c = 1.005 * b + a '具体算法可能不对。
cc = cc & " " & c
Next i
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2011-03-07 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4449万
展开全部
Function c(ByVal a As Double, ByVal b As Double, ByVal c As Double, ByVal i As Integer) As Double
b = 0
For i = 1 To 4
c = 1.005 * b + a
Return c ---------------------------这里什么意思啊
b = c
Next i
End Function
追问
就是返回c的值
追答
问题解决了,请尽快结贴
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式