机房收费系统中的分时间段计费问题

agangr 2003-09-11 11:02:11
我现在考虑设计一个分段计时计算消费额的程序,考虑跨天和年,我的想法是设定一个费率表
将一天24小时划分为几个时段,每个时段设定不同的费率。
在费率设置时,每一时段只设定开始时间,不需设定结束时间。这是因为本软件系统将每一时段的开始时间设定为既是本时段的开始点,又是上一时段的结束点,从而形成了一个循环。
例:我们将一天24小时分为3段:00:00~06:00、06:00~18:00、18:00~00:00,
即00:00既是00:00~06:00这时段的开始点,也是18:00~00:00这一时段的结束点,其它点与此相同,所以我们在费率设定时只需分别设置00:00、06:00、18:00这三个开始时间点的费率,即00:00所对应的消费的费率即是00:00~06:00这个时段的费率,06:00所对应的消费的费率即是06:00~18:00这个时段的费率,18:00所对应的消费的费率即是18:00~00:00(次日)这个时段的费率,因此就分别设定了三个时段的费率。

我的问题是在计算消费额的时候,应该用怎样算法来实现这个计费过程,特别是在跨时间段的消费的情况下,如何设计才合理?
...全文
146 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huazaijiajia 2003-09-16
  • 打赏
  • 举报
回复
恩,条条大路通罗马,只是不知道问问题的那个家伙能不能理解,呵呵。。。
PrgmLover 2003-09-16
  • 打赏
  • 举报
回复
呵呵,捧场来了。
支持huazaijiajia的算法。
对于日期之间的计算我倒更倾向于始末日期直接相减,得到差值,算出这整天的价钱(即(两个日期的差 - 1)---〉两个日期的差 ),然后再处理不满一天的时间,这样只用处理一边:即结束那天。如果结束时间在一天中早于开始时间,则减去我们计算的值,相反加上。一天内的计算当然是没问题。
huazaijiajia 2003-09-16
  • 打赏
  • 举报
回复
呵呵。。。谢谢捧场
XXSingle 2003-09-16
  • 打赏
  • 举报
回复
楼上好强喔。。。。帮你up
huazaijiajia 2003-09-16
  • 打赏
  • 举报
回复
这个算法其实还是可以的,因为不管你上机多少天,就算你上机一年都行,算法的时间复杂度都不会随之增加,上机一年跟上机一天所要运算的时间都是一样的!
我是这样想的:设3个变量:MorningCount(跨过00:00~06:00这个时段的次数), NoonCount(……), NightCount(……),这个题目就可以具体为算出这3个变量的值
最后的消费额=MorningCount*这个时段的价钱 + NoonCount*这个时段的价钱+NightCount*这个时段的价钱。好了,到这你也有个大概的眉目了吧!
那么我再具体一点,怎么算这个MorningCount和其他两个值呢?可以把这个功能做成一个函数,TotalCost(StartTime: TDateTime; EndTime: TDateTime): Double;有两个参数,一个是开始的时间,一个是结束的时间,两个时间均带日期,如:2003-9-3 18:12:12,
函数开始:初始化 然后,取两个时间的日期,只是日期,相减
if 两个日期的差 > 1 then
begin
MorningCount:= MorningCount + (两个日期的差 - 1);
NoonCount:= NoonCount + (两个日期的差 - 1);
NightCount:= NightCoun + (两个日期的差 - 1);
end;
举个例子,两个日期:2003-9-3和2003-9-6,相差3天,那么其中有2天完全是3个时段
都跨越了,所以相应的这三个值都要加上日期的差再减去1。到现在,中间所跨越的
次数已经算出来了,那么还剩下两头要计算,也就是2003-9-3和2003-9-6所要跨越的时段
这其实就是 if 来 if 去的,难度都不是很大。最后再来个总计算,不是很难啊!主要是
把思路理清楚
昨天晚上写这个程序,写了一个晚上,其中还是有蛮多细节要注意的,基本上算是完成了。
跟你说个故事:有一次我去面试一家软件公司,考官就出了类似的题目,说的是车库管理
的计算,有单车,摩托车,汽车,分时段收费。然后我写了个函数:
TotalCost(CarType: String; StartTime: TDateTime; EndTime: TDateTime): Double;
多了"车类型"这个参数,当时没有想得很仔细,很多地方考虑得都不完善,结果不合格。
那个家伙说:可能这个工作不大适合你们,你们看一下,还是……另外再找吧……。于是
我跟一同学拿起简历走人,走的时候他又说:你们的水平根本就达不到……,回去继续修炼
吧! 他妈的!我恨啊!为此郁闷几天,不过他说得也有道理,我的水平的确还不够硬,还
要继续努力!他妈的,真想毙了他!
平时没事来 csdn 逛逛,没想到你又提这样的问题,我还是写出来吧,于是昨晚本想把程序
写出来,后来一检测,还有一些小问题,今天就可以解决了
怎么样?你要不要源代码,我可以发给你!
蓝色光芒 2003-09-15
  • 打赏
  • 举报
回复
思路好象有问题,换一下思路试试。
shodoy 2003-09-11
  • 打赏
  • 举报
回复
让开,让开~~~~~~~
╭══╮
╭╯ΘΘ║
╰⊙═⊙╯。oо○-俺来给你送月饼了

八月十五中秋节快到了.送你一个月饼,含量成分:100%纯关心;配料:甜蜜+快乐+开心+宽容+忠诚=幸福;保质期:一辈子;保存方法:珍惜
(转载)
agangr 2003-09-11
  • 打赏
  • 举报
回复
想的不是很明白
huazaijiajia 2003-09-11
  • 打赏
  • 举报
回复
我的想法是:关键是算出跨过这个时段的次数,比如说这个人上机,他跨过00:00这个时段有多少次?跨过06:00又是多少次?计算出这个数字以后再乘上价钱

大概想想而已,还没有具体仔细的思考
一.需求析 目前学校机房无论是资源配、环境的统一部署、安全防护,还是上机管理、财务统计和报表,耗费 了大量的人力、物力、财力和时间。随着机房的不断扩大,机房管理人员少、任务重、工作量大等矛盾更 为突出。 机房运维和管理模式存在主要问题有: 资源没有有效利用 安排上机课不方便,管理工作量大 软件安装复杂,机房维护量大 不方便收费管理,财务漏洞多 难于统计查询数据 …… 二、系统设计 噢易机房BOSS系统全面的整合与机房相关的各项工作流程,是一套支撑机房业务运行的最完善解决方 案。 1.系统网络结构图 http://www.os-easy.com/Files/2009051411153451306.jpg 2.管理架构 系统对各种管理使用需要进行了细致类的拆与定义,这些严格定义的基本管理职能元素是可以自 由组合的,用户完全可以面向各种使用需要灵活配置。 http://www.os-easy.com/Files/2009051411122977652.jpg 3.系统拓展 整个系统易于安装、易于维护、易于扩充,并且本系统直接设置了多种校园一卡通接口,易于随意拓 展到食堂就餐、图书借阅、洗浴等。 三、系统功能介绍 噢易机房BOSS系统功能全面满足机房各种需求,下面就来让我们看看它们是如何为您解决问题的: 资源系统 · 机房课程编排保证上课用机,方便管理 噢易机房BOSS系统提供了完备的课表编辑功能,通过课表编辑,可以合理配置机房资源的有效利用, 使上课和上机,收费和免费自动切换,互不干扰。 课表为学期课表、单双周课表、每周课表三种,其优先级依次增强,课表的时间段可以自行定义, 上课之前的机器锁定时间也可以自行定义,从而保证上课用机。 利用课表的编排,每个机房在不同的时间段内可以拥有不同的上机模式,再频繁复杂的上课与上机交 换都能有条理的进行。 · 临时调课与预约服务 机房的课程安排经常出现临时性的调整,利用临时调课功能,可以调整到空闲时段,也可以和其它上 课对调;可以调整到本周,也可以调整到其它周次;可以调整到本机房,也可以调整到其它机房。 遇到其他部门或者其他培训需要使用机房,可以使用团体卡号进行提前预约机器,到了预定上机的时 间,在预定机器上使用团体卡号和预约时设置的密码就可以进入系统,不需要重新布置机房机房环境部署系统 · 便捷的机房环境部署方式 在电脑机房的计算机维护工作系统的升级以及软件的更新工作是非常繁重的。现在利用差异变量拷贝 功能,可以快速将一台机器上安装好的系统部署到整个机房的所有计算机上,不需要逐台安装或拷贝。 差异拷贝功能支持大小硬盘互传,提供了全盘、单个操作系统、单个区或自定义区组合等多种拷 贝模式,并且能够支持512台电脑同时进行差异拷贝;实现断点续传,可以动态显示故障机器,便于单独 处理。 以前网络拷贝完成后,由于正版软件对于每台机器的序列号是不一样的,因此需要逐台重新注册,而 现在你可以利用噢易机房BOSS系统的“软件统一注册”功能,客户端智能记忆注册信息,再次拷贝不需要 重新注册,可谓一劳永逸。 · 一间机房多种实验环境 噢易机房BOSS系统支持多种操作系统并存且相互隔离,可以在一台机器上同时安装Vista,win2000, win2003,XP,Linux等操作系统,从而达到一间机房多种实验环境。 单系统多频道功能可以为不同专业的课堂创造一个最优的系统环境,授权的教师可以在真实操作系统 上轻松扩展出多频道(操作系统环境),频道不占用硬盘空间。每个频道可以满足不同专业的应用软件需 求,避免在单系统安装多个软件产生冲突、机器变慢、桌面复杂等问题,让您的专业课堂更加专业化。 在比较特殊的情况,比如等级考试、测评、假期培训等,不需要重新做系统,减少了机房管理员维护工作 量,使机房无论何时都能够正常运转。 · 快速搭建网络平台 机房与Internet相连,需要为每台计算机配IP地址、计算机名,设置DNS、网关等,这是一项既麻 烦又耗时的事情。噢易机房BOSS系统修改IP地址的功能前所未有的方便,可以通过发射端收集所有网卡的 MAC地址,在发射端进行排序,然后将参数传递过去,所有的计算机的IP地址就改过来了。如果安装有多 个操作系统,那么每个操作系统可以设置不同的IP。 · 远程管理 在电脑机房的计算机维护工作,利用远程控制功能可以将学生机重启、注销、关机及远程开机,还 可以实时监视或直接操作学生机,大大提高工作效率。老师在控制端还可将学生机将硬盘资料还原、硬盘 资料备份及硬盘资料的暂存等。授课老师能远程任意切换学生用机的操作系统,也可以使学生机进入指定 的操作系统,还可以将一些小软件或者布置的作业文件直接发送到机房的计算机。 上机管理系统 · 刷卡管理 噢易机房BOSS系统的卡管理功能,包括发卡、退卡、充值、退款、挂失、注销等。系统支持条码卡、 IC卡、ID卡、射频卡等多种常见卡。 根据实际需要,利用刷卡机的管理功能,可以选择不同的管理模式:1.刷卡机自动配机器给学生上 机;B.刷卡机程序设置机房的门禁管理模式;C.学生通过刷卡机查询帐号的相关信息。 · 机时管理 系统对学生上机情况进行记录和管理,为学生提供多种自主上机方式,可以为不同的机房不同的时间 段设置不同的管理模式,可以设置的模式包括:上课模式、免费开放模式、消费上机模式、禁止预约模式 、机时上机模式、禁止上机模式、禁止自主上机模式。 学生业余上机除了基础的收费率以外,还可以设置特殊收费,可实现不同机房在不同的上机时间内拥 有不同的费率。为了满足特殊用户的需要,系统提供了高级折扣功能,可以为不同的部门进行折扣,还可 以为消费积或者充值积达到一定等级的用户进行折扣。 · 上机操作控制 系统可以根据上机者的自主上机方式、机房、上机人员类型属性执行不同的过滤方式,过滤内容包括 :网络访问控制、程序运行控制、文件访问控制、设备使用控制,还能提供端口控制功能。所有这些控制 都由系统自动判断和进行控制,非常灵活。 可以将学生上机期间的违规行为记录到该用户的信息,违规累计超过预定次数,可以禁用该卡,等 待处理。处理结束,可以清除该学生的违纪记录。 · 辅助教学控制 系统拥有强大的课堂行为管理功能,可以对不同的课程设置不同的控制内容,在不需要上网的情况下 教学可以设置网络访问黑名单和白名单,限制学生机上网;可以通过教师机将学生机锁定,使学生能专心 听讲;限制学生机使用与教学无关的软件。 系统提供文件隐藏、读保护和写保护三种文件控制方式。通过禁止使用光驱和USB设备,可以有效防 止学生看电影以及游戏,也可以一定程度上避免USB设备带来的病毒感染。 系统自动对上课学生进行考勤,对其迟到、缺席的情况记录并可查询。 对迟到、缺席的时间可以自 行定义,比如设置超过5钟记录迟到,超过30钟记录缺席。 · 资产监管 使用噢易机房BOSS系统的资产监管功能,通过管理机能够实时对学生机远程进行完整的软件、硬件资 产监控及管理,管理员足不出户就能实时了解、监管网络内所有学生机电脑的相关配置与变更等情况,并 能快速的进行相关统计、查询、存档等工作,针对不同情况及时做出反应。 · 权限控制,各司其职 系统为了更好的配置机房资源,对机房各类人员实行多级权限管理,机房超级管理员可以为机房各类 人员(包括值班/技术超级/技术维护管理员、收费/财务管理员、上课教师/上机学生)设置相应的操作和 查询权限,使机房管理员各司其职,权责明。 · 校园一卡通 完全支持目前应用比较广泛的多种一卡通系统,如果用户需要,可以很方便的进行扩展支持。 还可 以与其他图书管理系统等连接,系统还拥有跨院系/校区统一上机管理功能,满足学校统一管理的各种需 求。 上机服务系统 · 上下机验证 学生通过刷卡进入机房,通过帐号登陆验证完相关信息才可使用机器,使用结帐下机功能终止上机, 并记录学生此次上机的时间和其他信息,系统为学生提供帐户充值功能,学校可根据实际情况,设置专门 的充值点。 · 开放、自由的学习环境 授权学生在受保护的真实操作系统上可以自主创建一个虚拟系统。虚拟系统不占用硬盘空间,是可以 开放使用的,学生可以在他们创建的虚拟系统内安装软件和保存资料,而不会影响到真实系统的还原和保 护,从此他们不仅可以轻松的在机房上机试验,业余时间也可以做课程设计、毕业设计等等,机房管理与 学生自主完美结合。 Web查询可以方便管理员、教师和学生上网查询各自需要的相关信息。学生可以查看其充值记录明细 、消费记录明细、上机记录、上机课表等,还可以通过管理机或Web实现个人机器的预约功能。 · 更多的功能服务学生 系统提供了对于打印机的监控和收费。管理员可以配置打印服务器,设置打印的费率。学生选择打印 机进行打印,系统直接从学生卡扣除打印费用。打印扣费可以区灰度打印和彩色打印,可以区单面 打印和双面打印,可以区打印一份或者多份。 系统拥有商品销售功能。管理员添加商品名称和价格,学生通过客户端程序的商品购买功能,选购 商品。购买花费可以选择从帐号扣除,也可以选择现金交易。 数据统计与决策系统 噢易机房BOSS系统的数据统计功能可以为各类用户提供详细的机时统计查询和报表打印。 运维支持系统 · 系统保护 在进行硬盘保护时,噢易机房BOSS系统受保护的硬盘可以像平常一样进行硬盘的读写操作,但关机以 后系统又恢复到以前的状态,可以有效的保证系统的安全。 · 主动式防御机器狗 最近,开始流行起一种专门针对机房维护产品的病毒“机器狗”,能够轻松穿透各种机房维护产品的 防护,将病毒、木马感染进系统。噢易机房BOSS系统采用驱动级防护技术,有效地防御了这一类针对性的 恶意病毒,不论机器狗如何变种,不需要通过补丁更新方式防御。 · 动静态暂存区 许多用户在使用传统机房维护产品过程都曾经遇到过蓝屏死机的问题,这是由于暂存区空间不够造 成的,噢易机房BOSS系统采用了暂存区智能延展技术,当预先配的暂存区空间不够时,可以自动使用硬 盘的空闲空间作为暂存区,从根本上杜绝了蓝屏死机。 · 防ARP攻击 ARP攻击是导致网络无法正常访问的重要原因,噢易首家内置了防ARP攻击功能,确保网络畅通无阻。 WEB服务系统 · Web远程查询 系统拥有WEB查询功能,可以方便管理员、教师和学生远程查询各自需要查询的相关信息。 · Web远程预约和调课 系统为学生提供个人预约功能,学生可以远程预约一台机器,保证个人学习上机;教师和管理员可以 使用团体预约功能,预约多台机器,方便特殊情况下,比如培训或者外部人员来机房上机,使用团体卡号 和设置的密码就可以进入系统,不需要重新部署机房环境。教师可以通过Web页面远程申请调课,管理员 可以远程对调课申请进行处理。
商业源码源码完整,数据库完整.一、 系统概述本系统集国内多所著名高校的机房管理经验之大成。它不仅解决了机房收费的管理问题,而且针对学校机房的特点,实现了强大的上机安排功能、课程表一次性录入,数据库导入导出功能、自动识别多个收费安排的功能、交费管理与系统离等数十项强大而实用的功能。采用非接触式的ID卡为终端输入,不易被人仿造冒充,方便、安全、快捷。二、 系统特点1、 支持多费率计费功能。用户可以自行定义各种收费标准,对于用户上机可以采用多种费率结帐的功能。各种费率可以更改。2、 用户ID全球唯一。采用非接触式ID卡,保证用户卡号的全球唯一性,不易出现仿造冒充。并且非接触式ID卡寿命长,不容易损坏,使用方便(用户不用取卡刷卡,ID卡可以放在书包或背包里也可刷卡)。3、 强大的课程安排功能。可以成批生成上机安排,也可一次性或临时增加修改上机安排。可以一次性输入一学期的上机安排课程表,如有变化还可以进行修改、删除,方便管理员对自由上机、上课进行安排。4、 可以进行灵活设置。包括学期、教师、班级、课程等,都可以进行增加删除和修改,使数据维护变的非常方便。5、 对所有机器进行保护。在装有客户端的机器上,学生只能进行登录,验证通过以后才能使用机器,否则不能使用机器。6、 可以灵活设置机房的开放先后顺序。对所有机房进行合理的管理。7、 支持多个刷卡端,且各个刷卡端各能管理的机器是可以设定的。各个刷卡端可以任意设置所管理的机器不会存在冲突和重复。8、 上、下机自动管理。每个用户上机前都应办卡,每个卡号作为他上机的唯一标识。用户上机刷卡,根据刷卡机提示的机号到指定机位,输入卡号和密码,系统检验通过后可开始上机,若用户走错机位、输入卡号和密码错都将无法操作机器。下机时,学生在刷卡机刷入卡号(或管理员通过管理机远程控制关机),系统自动关闭学生用机、结束本次记费并建立本次上机记录;或者教师通过管理机发送下机命令,强制某几个或某几组学生下机;如果是安排上课,如果上课时间结束,学生机在进行提示后将自动关机。9、 远程监控。通过管理机,您可以监视整个系统运转情况,即随时了解各机房上机情况,每台机器用户用机情况,检测网络连接状态,监控每个用户当前操作,按组或个别用户发消息给用户计算机,按组或个别用户控制用户计算机等。可以实现远程抓屏和远程控制,使用管理员易于管理。三、 系统组成系统由以下机个部组成:机房管理端、卡管理端、刷卡端和客户端1、 机房管理端。上下机管理:连接刷卡机,根据用户卡号选择上机安排,并配机号;对于收费的安排开始对刷卡的用户计费;接受用户机登录密码验证等;在用户刷卡下机时建立上机记录、并收回配的机器。远程计算机监控:实时监视用户及屏幕图象,发消息给用户机,关闭用户计算机等;其它:显示机房电脑使用情况,设定系统功能等。可以进行课程安排的设置。2、 卡管理端。主要进行发卡和卡充值。可以进行各种卡的发放,包括学生卡,教师卡等各种卡的发放。对卡充值并可以进行各种方便查询、结帐等。3、 刷卡端。在刷卡端运行,运行时连接服务段程序《机房管理端》,通过与总管通信取得并显示配机号等信息。4、 客户端。客户端安装于用户计算机、与管理端配合实现对用户的管理。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧