【机房收费系统】-上下机

前言:

   一遍遍的说理清逻辑是多么的重要,刚开始的时候毫无头绪更不想开始,画出流程图梳理清晰自己的思路,上下机并没有想象中的那么难,现在就总结下上下机部分;

内容:

  • 上机:整个上机过程总的来说就是查询数据库,进行条件限制判断,更新数据表,就过程的思路有以下流程图;

这里写图片描述

  • 下机:下机相对而言就复杂了点,关于消费时间的计算判断,和消费金额的计算;

这里写图片描述

1、 时间转换

txtTime1 = Trim(DateDiff("n", Trim(txtOnTime.Text), Trim(Time)))
txtdate = DateDiff("n", txtOnDate.Text, Date)
txtTime.Text = Int(txtTime1) + Int(txtdate)

2、消费时间计算

  • 没有达到准备时间,不收费
If Val(txtTime.Text) < PrepareTime Then
     MsgBox "没有达到上机准备时间,不收取费用!", 48, "提示"
     txtTime = 0
     txtUsedcash.Text = 0
     Exit Sub
End If
  • 达到准备时间,进行消费时间判断
If (Val(txtTime.Text) - Val(leastTime.Text)) < PrepareTime.Text Then
     txtTime1 = 0
     txtTime.Text = Val(time1)   '更新消费时间
     txtUsedcash.Text = 0
Else
     '上机时间
     txtTime1 = Val(txtTime.Text) - Val(leastTime.Text) - Val(PrepareTime.Text)
     txtTime.Text = Val(txtTime1)   '更新消费时间
     mrc.Update
     mrc.Close
End If

3、消费金额计算

If Val(txtTime.Text) > PrepareTime Then
    Select Case Trim(txtType.Text)
    
    Case "固定用户"       
        money = Round(Val(txtTime.Text) / unitTime * Rate)
        If money > 1# Then       '消费金额小于1的时候0不显示
            txtUsedcash.Text = Str(money)
        Else
            txtUsedcash.Text = "0" & Str(money)
        End If                
        txtRemaincash.Text = mrc.Fields(7)
        mrc.Fields(7) = Val(txtRemaincash.Text) - money
        txtRemaincash.Text = mrc.Fields(7)
        mrc.Update
        
    Case "临时用户"            
        money = Round(Val(txtTime.Text) / unitTime * temRate, 2)                
        If money > 1# Then       
            txtUsedcash.Text = Str(money)
        Else
            txtUsedcash.Text = "0" & Str(money)
        End If
        txtRemaincash.Text = mrc.Fields(7)
        mrc.Fields(7) = Val(txtRemaincash.Text) - money
        txtRemaincash.Text = mrc.Fields(7)
        mrc.Update
        mrc.Close
    End Select
End If
机房收费管理系统 问题描述 结合我校计算机房的运作模式,设计一种适合的收费管理系统,能够实现相关的人员检索,计时收费,管理汇总等功能模块。 开发环境 采用C或C++实现,VC++6.0 基本要求 主要功能模块: (1) 登录模块 (2) 上机管理模块 说明:上机登记时,余额不足3元或卡处于挂失状态,则拒绝登记。 每位同学的一次上机形成一条记录,每30秒遍历一次上机记录表,对表中所有正上机字段为TRUE的记录的上机用时增加30秒,同时减少上机卡表中的余额。 (3) 上机卡管理模块 (4) 充值挂失模块 (5) 查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;某学生上机的次数、上机总时数、每次上机平均时间;挂失和查询余额。 参考的数据结构: 上机卡(卡号,姓名,专业班级,余额,状态),状态有:正常和挂失。 上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码) 上机记录表永久保存,用于事后查询和统计。 设计要求 1) 界面友好,输入信息符合逻辑:如上机时间设定在合理的时间范围。 2) 能从实践生活出发,设计合理的功能模块 3) 各类信息的数据结构明晰 4) 可根据自身生活体验添加相关功能模块。 拓展功能要求 鼓励采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值