要求:编写一个程序 根据一个人的生日,计算他的年龄,根据他的年龄计算他的退休金。我目前的写法是:
Public Function 计算生日()
计算生日
call 计算年龄
End Function
Public Function 计算年龄()
计算年龄
call 计算退休金
End FunctionPublic Function 计算退休金()
计算退休金
End Function
这种做法的最大缺点是 比如这个程序:
Public Function 计算生日()
计算生日
call 计算年龄
End Function函数名字叫做“计算生日”,但是这个函数的内容既有 计算生日的代码,而且还调用了个 计算年龄的子函数。
也就是函数名字无法准确反映函数的内容。大家有好的办法么?这个程序要怎么编写,比较好些?
Public Function 计算生日()
计算生日
call 计算年龄
End Function
Public Function 计算年龄()
计算年龄
call 计算退休金
End FunctionPublic Function 计算退休金()
计算退休金
End Function
这种做法的最大缺点是 比如这个程序:
Public Function 计算生日()
计算生日
call 计算年龄
End Function函数名字叫做“计算生日”,但是这个函数的内容既有 计算生日的代码,而且还调用了个 计算年龄的子函数。
也就是函数名字无法准确反映函数的内容。大家有好的办法么?这个程序要怎么编写,比较好些?
计算生日
call 计算年龄
End Function ======================
这不是递归了吗?
Public Function 计算年龄(生日参数)As Integer
返回年龄
End FunctionPublic Function 计算退休金(年龄参数)As Double
返回退休金
End Function
计算生日
call 计算年龄
End Function
这个 第一个“计算生日”指的是函数的名字 。 第二个 “计算生日”指的是 具体的计算生日的代码。============================回2楼:请你给起个好名字!!!呵呵
------------------------------------------------------------------------
这个问题确实很困扰我 现在正在想如何解决。 针对这个问题我查了大量的资料,换一种【说法】就是:
在子程序内包含有需要按特定顺序执行的操作,这些步骤需要共享数据,而且只有在全部执行完毕后才能完成一项完整的功能。我的程序要求是:根据一个人的生日,计算他的年龄,根据他的年龄计算他的退休金。这个程序要求是符合【说法】的。要怎么办才好呢?希望我的问题描述的已经足够清楚了
如果你想要计算一个人的退休金你可以: Public Function 计算退休金()
...
End Function 这个就是你的目标,如果你在计算退休金的过程中,需要知道年龄,那么你改成 Public Function 计算退休金()
call 计算年龄()
End Function
Public Function 计算年龄()
...
End Function 同理,要想获得年龄,需要知道生日,因此 Public Function 计算退休金()
call 计算年龄() //需要用年龄才能计算除退休金
...
End Function
Public Function 计算年龄()
call 计算生日() //需要知道生日才能知道退休年龄
...
End Function
Public Function 计算生日()
...
End Function 和你说的过程为什么正好相反呢?仔细领悟一下自顶向下程序设计是怎么回事吧。
http://topic.csdn.net/u/20090815/21/eedee5a5-984c-43f0-b3e0-60abed3a3e3e.html?seed=1986824929&r=59107026#r_59107026