机房收费系统——上下机

最近大家都在进行机房收费系统,看大家的博客,基本上都是先理清思路再实现功能,回想自己当时做的时候就不够好,只是盲目的敲代码,却忽略了方向比努力更重要这个道理,导致最后出现了很多漏洞,于是又重新画了一遍上下机的流程图,希望能对以后机房的学习有帮助。

上机


只要思路清晰,具体的代码实现很简单。

下机


下机需要计算消费金额,具体是怎么计算的呢?


关于消费金额的计算,每个人都有不同的计算方法,我觉得只要合理就行。

在基本数据设定的表中,有准备时间,最小上机时间,那么这两个时间跟实际的上机时间有什么区别和联系呢?

如果实际上机时间 < 准备时间,消费金额为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>


如果还有疏漏的地方,还请大家多多指教。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值