大家好,又见面了,我是你们的朋友全栈君。
最近大家都在进行机房收费系统,看大家的博客,基本上都是先理清思路再实现功能,回想自己当时做的时候就不够好,只是盲目的敲代码,却忽略了方向比努力更重要这个道理,导致最后出现了很多漏洞,于是又重新画了一遍上下机的流程图,希望能对以后机房的学习有帮助。
上机
只要思路清晰,具体的代码实现很简单。
下机
下机需要计算消费金额,具体是怎么计算的呢?
关于消费金额的计算,每个人都有不同的计算方法,我觉得只要合理就行。
在基本数据设定的表中,有准备时间,最小上机时间,那么这两个时间跟实际的上机时间有什么区别和联系呢?
如果实际上机时间 < 准备时间,消费金额为0。
如果实际上机时间 < 最小上机时间,有的说法是不能下机,但是这样显得也不太合理,万一真的有特殊情况必须下机怎么办呢,所以在这可以下机,但是会收取一部分费用。
如果实际上机时间 > 最小上机时间,则按照不同的身份进行计算。
(以上计算是在 设定的准备时间 < 最小上机时间的基础上计算的)
具体代码如下
</pre><pre name="code" class="vb"><span style="font-size:18px;"> Ontime = mrcO.Fields(9) '获取上机时间
Offtime = Now '获取下机时间
Consumetime = DateDiff("n", Ontime, Offtime) '计算上机时间
If Consumetime < prepareTime Then '实际上机时间 < 准备时间
Consume = 0#
ElseIf (prepareTime < Consumetime) And (Consumetime < leastTime) Then ’实际上机时间 < 最小上机时间
A = msgbox "确定要下机吗?", vbYes + vbQuestion , "提示"
If A =vbYes Then
Consume = Int(Rate / 2)
End If
ElseIf Trim(userType) = Trim(User) Then '实际上机时间 > 最小上机时间
Consume = Rate * Int(((Consumetime / unitTime) + 1)) '固定用户消费
ElseIf Trim(userType) = Trim(tmpUser) Then
Consume = tmpRate * Int(((Consumetime / unitTime) + 1)) '临时用户消费
End If</span>
如果还有疏漏的地方,还请大家多多指教。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105789.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...