机房收费总结

来源:互联网 发布:新人网络男主播技巧 编辑:程序博客网 时间:2024/05/17 00:57

                  一个月的机房,今天算是结了尾,在事情接触之前感觉上总是陌生的,有句话说:事情总是先易后难,可是机房收费算是突破了现实,现在越来越能体会到,一条路坚持走下去是多么的不容易,但是,结果总是春暖花开。回想起来,从最初的毫无头绪到现在的理解,过程是艰辛而美好的。


机房结构


语言上变得有点匮乏,图是最好的解释:


我的过程


从开始的稀里糊涂,到现在闭着眼就能想起的机房收费系统的我,变得明朗起来。



代码思路


机房基本上敲完之后,相信很多人印象最深的便是代码了吧,总结一下我敲完之后理解的过程。


一、上、下机类


    上下机应用到的表有Student_Info、Recharge_Info、Online_Info、Line_Info、BasicData_Info.

现在理解看来,上机和下机都是同一个思路。


1.上机:


*判断卡号是否为空

---a:为空则就进行提示“卡号不能为空,请填入卡号”

---b:不为空向下继续进行

*判断卡号是否存在

---a:不存在则就进行提示“卡号不存在,让其去注册”

---b:存在继续向下进行

*判断卡内余额是否够最少上机时间

---a:不够则就进行提示“卡内余额不足,请去充值”

---b:足够则进行上机


2.下机:


*判断卡号是否为空

---a:为空则就进行提示“卡号不能为空,请填入卡号”

---b:不为空向下继续进行

*判断该卡是否存在

---a:不存在则就进行提示“卡号不存在,让其去注册”

---b:存在继续向下进行

*判断是否上机

---a:未上机则就进行提示“该卡未上机或者已经下机”

---b:上机了则就进行下机



二、组合查询类


组合查询当中看原程序里面有两个组合关系,此时就应该分析组合关系的应用。


1.组合关系:

      即条件只是符合最上面一行选择的就进行查询,此时只有一种情况。无组合关系的时候,下面的条件是不可选择的。


2.有一种组合关系:

      只要点击了第一种组合关系,则第二行条件就可以进行选择。选择不全则就进行提示。此时有两种情况:

---a:或,并列的关系,可以同时存在。

---b:与,同时的关系,要在条件内才可显示。


3.有两种组合关系:

      当第二个组合关系被选择后,第三行的条件才可进行选择。选择不全则就进行提示。此时有四种情况:

---a:或--或,三种条件并列,可以同时存在。

---b:或--与,前两个条件并列,再与第三个条件且。

---c:与--或,前两种条件先且,再与第三个条件并列。

---d:与--与,三种条件都要满足才可显示。


三、结账类


结账类这里最重要的就是逻辑关系了。


--一般用户下机结账


    下机结账这里初始的时候有些不清楚,我只是按自己的理解弄的,我这里没有涉及到至少上机时间,并且在BasicData_Info表中的时间递增永远都是60min,是不可改变的。


假设上机总的时间为SumTime,花费的金额记为ConsumeMoney,每分钟的钱记为固定rate,临时lsrate。

固定用户SumTime=(上机时间-准备时间)/60

ConsumeMoney=SumTime*rate

临时用户SumTime=(上机时间-准备时间)/60

ConsumeMoney=SumTime*lsrate


     后来经过和同学讨论,我稍微改变了理解,因为并不是每个同学的上机时间都能是60min的倍数或者刚好能整除,所以就改变成了这样:


假设上机总的时间为SumTime,花费的金额记为ConsumeMoney,每分钟的钱记为固定rate,临时lsrate。

固定用户SumTime=Int((上机时间-准备时间)/60)+1

ConsumeMoney=SumTime*rate

临时用户SumTime=Int((上机时间-准备时间)/60)+1

ConsumeMoney=SumTime*lsrate


这样理解看来貌似就更容易了,所以帐算的也就更清楚明了些了。


--管理员结账


1.要理清楚售卡数--退卡数--总售卡数的关系。我理解的是:总售卡数=售卡数+退卡数。售卡数源自Student_Info表,并且是未结账的。退卡数源自CancelCard_Info表,并且也是未结账的。


2.理清楚钱的关系。由于我设计的程序是只要有人注册,则就把注册的钱放进Recharge_Info表,所以最后算钱的时候,无论是充值还是注册只要查找Recharge_Info表就可以,应收金额=充值的钱-退卡的钱。退卡的钱源自CancelCard_Info表。


3.临时收费金额指的是临时用户注册时候的钱。这里特别要注意临时用户下机就相当于退卡。


优化部分


    界面优化:适当的找些漂亮的图片,使得程序更加的美观,让用户更加的喜欢,体现为人民服务的宗旨。


    代码优化:有些代码类似,比如导出Excel表格多次用到,就可以把它在模块里写成一个函数或者一个过程,用的时候直接Call即可。


    数据库优化:在代码书写过程中一定要记得删除数据库的记录,如果记录太多总会有冗余现象,到时候后悔可就不好了,所以,不用了的卡号什么的就可以在Student_Info表里删除。


总结:


    机房收费算是结束了,但是对数据库的学习刚刚开始,要真正的理解数据库的增、删、改、查。并且要付诸实践,多进行代码敲打,理解增删改查的格式。每一段艰辛日子里的自己都值得敬佩。未来加油。

0 0
原创粉丝点击