机房收费系统——上下机「建议收藏」

机房收费系统——上下机「建议收藏」机房收费系统——上下机

大家好,又见面了,我是你们的朋友全栈君。

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

上机

机房收费系统——上下机「建议收藏」

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

下机

机房收费系统——上下机「建议收藏」

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

机房收费系统——上下机「建议收藏」

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

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

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


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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105789.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA 课程设计

     一、设计内容与设计要求1.课程设计目的:复习、巩固Java语言的基础知识,进一步加深对Java可视化程序设计的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;为后继课程的实验以及课程设计打下较扎实的基础。2.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法…

    2022年4月7日
    49
  • 错位排序公式_完全错位排列数

    错位排序公式_完全错位排列数首先,对于D(n),有1~n这样n个元素错排,所以对于第一个元素①,它现在可能的位置有(n-1)个,倘若它在第k个元素的位置上,对于第k个元素而言,它所在的位置就有两种可能—第一种,它处在非第一个元素①位置上,所以对于接下来的排列就相当于是n-1个元素的错排,即D(n-1);第二种,它处在第一个元素①的位置上,所以在排列D(n)中有两个元素找到了位置,那么接下来的队列就相当于是n-2个元素的错排。…

    2022年10月22日
    0
  • Django(57)Generic类视图[通俗易懂]

    Django(57)Generic类视图[通俗易懂]前言上篇我们通过mixin可以非常方便的实现一些CURD操作。实际上针对这些mixin,DRF还进一步的进行了封装,放到generics下。有以下generic类视图:generics.ListA

    2022年7月29日
    8
  • 解决冲突五策略的运用_部落冲突符号昵称

    解决冲突五策略的运用_部落冲突符号昵称jq 的 $ 符号冲突解决办法

    2022年4月20日
    44
  • QT——开发入门简介

    QT——开发入门简介1、你了解Qt吗?Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由QtCompany开发,但是到2008年,QtCompany科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境QtCreator3.1….

    2022年5月17日
    29
  • QT 实现 RTSP 视频流服务器[通俗易懂]

    QT 实现 RTSP 视频流服务器[通俗易懂]uos操作系统中使用QT开发RTSP视频流服务器,以下的实现方式使用的是单播方式。可以通过自己开发的rtsp服务器将摄像头的数据推送到服务器中,其他用户可以通过访问视频流地址,直接访问摄像头的内容,也就是通常说的摄像头直播。本篇文章使用开源框架live555开发一个属于自己的视频流服务器。

    2022年10月20日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号