C语言编写一个酒店管理系统的程序

pzw814520 2012-12-28 09:26:40
3.酒店房间登记与计费管理
问题描述:
已知在酒店中有10个房间,每个房间的信息包括房间号,每天住宿价格,设计一程序,完成以下功能:
1) 从键盘输入客户的入住信息(包括:客户姓名,身份证号,开始入住时间、退房时间(假设客户入住时就确定什么时候退房)、入住房间号),需要完成以下功能:
2) 汉字界面,凡是汉字属性的内容,必须用汉字。
 入住房间号是否存在,开始入住时间,退房时间格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)入住、退房时间必须用自动获取系统时间功能。
 输入入住信息时需要完成以下校验:该房间是否当前已经入住,如果是提示用户不能入住,检查身份证号是否为15位或18位,如果不是则提示错误
 输入入住信息时,需要根据入住时间和退房时间,自动计算入住天数(假设入住时间不会跨年),并根据相应房间的住宿价格,计算住宿费用
3) 根据房间号,查询住宿情况
4) 根据房间号和统计时间段(开始和结束时间,不跨年)统计房间产生的住宿费用
5) 所有数据符合实际应用要求
提示:
 酒店中的10个房间,可以采用结构体数组实现,每个数组元素表示一个房间,房间的信息表示为:房间号,价格
 定义一个日期结构体保存日期,具体信息为:年、月、日
 定义一个链表表示客户的入住信息,结构体信息包括:客户姓名,身份证号,开始入住时间、退房时间,入住房间号,入住天数,入住价格、住宿费用(入住天数,入住价格、住宿费用的信息在输入入住信息时计算出来)
 判断入住时间和退房时间的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。
 计算入住天数,因为入住时间不会跨年,因此,可以根据月份和日期,计算入住时间到退房时间之间的天数。
 判断房间是否当前已经入住需要查询入住信息链表,在该链表中是否存在退房时间比入住时间大的记录,如果有,则表示已经入住
 统计时间段内房间产生的住宿费用时,需要根据开始统计的时间和结束统计时间查询入住信息链表,会有四种情况:1、查询记录的入住日期大于开始统计时间、退房日期小于结束统计时间,累加该记录的住宿费用;2、查询记录的入住日期小于开始统计时间,但退房日期大于开始统计时间,需要计算退房时间到开始统计时间的天数乘以价格再累加;3、查询记录的入住日期小于结束统计时间,但退房日期大于结束统计时间,需要计算入住时间到结束统计时间的天数乘以价格再累加;4、开始统计日期大于入住时间,结束统计日期小于退房时间,需要计算结束统计日期到开始统计日期的天数,乘以价格再累加。其余表示不在该统计时间段内,不产生入住费用
...全文
555 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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