求,住店计费思路

smugmd 2008-03-13 07:07:52
假设: 一旅店一天住宿费用是50元.
当天中午12点以后入住 --> 次日中午12点以前退房的收取50 ,次日12点 --> 17点前退房的收取75(在原价基本上加收50%),
17点以后退房的收取100(按两天费用计算),以此类推..


数据库:mysql,表中有入住时间,与退房时间,跟据这两个时间,来计算..


高手们给个思路啊..麻烦写下伪代码..在此谢谢了!
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
njwangchuan 2008-03-31
  • 打赏
  • 举报
回复
搞个触发器,以半天25元一个单位计算,中午12点记数器+1,17点的时候+2

记数器初值:17点以前入住为0,17点以后入住为2。

如果考虑现在流行的“钟点房”,可以将初值细分,12点以前为0,12-17点为1,17点以后为2。
cenxiaobai 2008-03-31
  • 打赏
  • 举报
回复
kingaking 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guofei_gf 的回复:]
首先从数据库中取出相应数据,算出住房时间T,单位为小时,
住房天数days=T/24;

多余小时数hours=T%24;

多余小时房钱m=hours>10?50:25

总房钱count=days*50+m
[/Quote]

基本赞同,不过从数据中算出时间差还要加上头一天租房时间与当天12点的时间差,实际的T应该为退房时间-租房时间+租房当天12点-租房时间.
xuyufei 2008-03-31
  • 打赏
  • 举报
回复
同意楼上的,顺带copy了一份,把day再写明白点。

int totaltime = 退房时间-入住时间;//(单位小时,自己换算)
float income = 0;//应收房钱
float price = 50;
if(totaltime <=24){
income = price;
}else{
if(totaltime%24 <5){
income = price * (totaltime/24 + 0.5);
}else{
income = price * (totaltime/24 + 1);
}
}
胡矣 2008-03-31
  • 打赏
  • 举报
回复
int totaltime = 退房时间-入住时间;//(单位小时,自己换算)
float income = 0;//应收房钱
float price = 50;
if(totaltime<24)
{
income = price;
}else{
if(totaltime%24<5)
{
income = price * (days + 0.5);
}else{
income = price * (days + 1);
}

}
aapmono 2008-03-21
  • 打赏
  • 举报
回复
当天中午12点以前住的怎么算?
guofei_gf 2008-03-21
  • 打赏
  • 举报
回复
首先从数据库中取出相应数据,算出住房时间T,单位为小时,
住房天数days=T/24;

多余小时数hours=T%24;

多余小时房钱m=hours>10?50:25

总房钱count=days*50+m

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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