《c++-酒店客房管理系统(共12页).doc》由会员分享,可在线阅读,更多相关《c++-酒店客房管理系统(共12页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 数据结构题 目:酒店客房管理系统 专 业: 班 级: 姓 名 学号: 实训时间: 实训地点: 成 绩: 详细设计说明书目录引言1.1编写目的完成期中考试作业1.2项目背景酒店客房管理系统 主要功能:前台操作:包括开房登记、退房结账和房状态查看预订管理:包括预订房间、预订入住和解除预订信息查询:包括在住客人列表、预订客人列表报表统计:包括开房记录统计、退房结账和预订房间统计完成提示:(1)住店情况记录在住店管理表中:客人姓名、房号、入住时期、预计离开日期、结账离开日期、应付金额(2)每个房间的使用情况记录在房间信息表中:房号、价格、押金、房状态(空,入住)(3)预定情
2、况记录在预订情况表中:客人姓名、房号、入住日期、预计离开日期(4)数据存在文件中2总体设计2.1需求概述 1客房预定系统 客房预定 预定未到处理 预售查询 预定系统可随时查询酒店客房预售一览表,及可售房间数,可查询某间客房预定情况。 2前台接待系统 入住登记 预定客房查询 可售客房查询 3前台收银系统 记帐 退房 押金加入 查帐 客人信息查询 动态房态查询 房间明细帐查询 收银员报表 当日入住客人报表 住店客单查询 查询客房状态 查询可售情况 客房占用统计 帐务查询 万能查询 报表输出2.2软件结构 图 2. 系统总流程图表1: 系统总流程数据字典数据流名: 登记组 成: 客户信息+房间信息+
3、押金+时间数 据 项: 客房信息组 成: 房号+类型+单价+状态组 织: 房号数 据 项: 状态取值: 空房可用 空房待修 预订占用 正在占用数 据 项: 押金组 成: 预订金+入住押金+入住租金数据库12 3程序描述流程图数据字典数据处理名:前台加工简 述:在酒店中直接与客人发生关系的活动,为客人提供的一切服务,包 括 客人进入酒店前的预订,预订后的入住,消费,以及离店前的手续 办理。组 成:预订+接待+取消预订+离店3 .详细设计3.1备注 按照客人从住店、离店的过程将系统划分为预订、接待、取消预订和离店四个处理过程。客人通过预订,也可直接到酒店登记住宿。客人预订后,也可能取消预订。客人预
4、订离店接待取消预订 表3: 个人预订数据字典数据处理名:房间查询简 述:根据客人的预订要求,查询客房预订信息表,确定是否有空房输 入:客户信息,来源:外部实体“客人”输 出:1 无客房,去处:外部实体“客人” 2 有客房,预订登记表,去处:“客人信息”数据流名称:预订登记表简 述:在房间查询有房时所填的表,用于记载客人信息组 成:身份证号+姓名+性别+年龄+民族+国籍+家庭住址+VIP+电话客人来店预订,服务员查询“客房预订信息表”,无空房则返回客人。有客房则登记,并核对“客人黑名单”(进行消费而未付帐的客人名单)及“挂帐表”,无误后收取预订押金并记入“预订金入帐表”。进行订房,将预订信息记入
5、“客人预订信息表”,修改“客房预订信息表”的客房状态,给客人预订证明表。预订完成。3.2性能1对数据对象类的确定2对各类间关联的确定3系统应提供客房的分类管理功能、4系统在各功能模块的实现当中,提供多级分类检索和组合搜索3.3输入项目1客房类型2员工名或编号3客房信息4客房状态3.4输出项目1客房类型表2. 客房信息表3客房状态表3.5算法见后面是黑客已预订完预订证明表客人收 银订房预订金入帐表团体预订信息表客人客人信息查 询客人黑名单房 间查 询客房预订信息表1客房预订信息表2有无空房间订金收据交款预订登记表挂帐单位表3.6程序逻辑 3.7 界面浏览3.5算法补充#include#inclu
6、de#include#include/成员变量的声明 int i,j,k,p=0; char temp= ;int room55;clock_t start;/成员方法的声明void init() int x,y,z; for(x=0;x5;x+) for(y=0;y5;y+) roomxy=0; void hotelTitle() printf(n-酒店房间登记与计费管理系统-n); printf(t1.登记入住n); printf(t2.查询房间的入住情况n); printf(t3.查询当前费用n); printf(t4.结账退房n); printf(t5.退出程序n);void hote
7、l_execute();void hotel_select(); void hotel_outhotel();void outsystem();void hotel_total();int main(void) system(color f1); init(); while(1) Loop: hotelTitle(); printf(n请选择:); j=scanf(%d,&k); if(j=0|k5) printf(n输入错误。nt请输入所列出的选项。nn 3 秒后刷新.Please Weit! Thanksn); fflush(stdin); system(cls); goto Loop;
8、else switch(k) case 1:hotel_execute();break; case 2:hotel_select();break; case 3:hotel_total();break; case 4:hotel_outhotel();break; case 5:outsystem();return; default: printf(nt系统出错!请联系管理员!n);/怕出现BUG return; fflush(stdin); /清空缓存 /入住登记 void hotel_execute() int x,y,z; printf(请输入你要住本酒店多少层楼的住房?【1-5】);
9、fflush(stdin); L:scanf(%d,&x); p=x; if(x5) printf(不好意思本店没有该层楼房。n请重新选择:); goto L; printf(请输入你要住第%d层的几号房间?【1-5】,x); fflush(stdin); LP:scanf(%d,&y); if(y5) printf(不好意思该层楼并无该房间。n请重新选择:); goto LP;/无条件的回去 GOTO语句 if(x2)/二层以上则100元一天 printf(n提示:该房是贵宾套房,100元一天n); else printf(n提示:该房是标准套房,50元一天n); if(roomx-1y-1
10、=0)/判断该房已经入住 roomx-1y-1=1; printf(n谢谢您的光临,您已经成功登记。n您的信息如下:n入住房间:%d-%dn,x,y); start=clock(); else printf(警告:该房已经有人入住.请换房入住哈。n); /查询住房信息 void hotel_select() int x,y,z; system(cls);/清空内容。 /以下没什么重要的。就是控制输出格式 printf(宾馆入住情况如下:); printf(n|-|-|-|-|-|-|n); printf(| |); for(x=1;x=5;x+) printf(房间号 |); printf(n
11、); for(x=0;x5;x+) if(x=0) printf(|-|-|-|-|-|-|n|第%d层 |,x+1); else printf(n|-|-|-|-|-|-|n|第%d层 |,x+1); for(y=0;y5;y+) if(roomxy=0) printf(空%d-%d |,x+1,y+1); else printf(住%d-%d |,x+1,y+1); if(y+1=5) if(x+1=1|x+1=2) printf( 该层标间均50元); else printf( 该层标间均100元); printf(n|-|-|-|-|-|-|n); printf(n住房信息:n); f
12、or(x=0,z=0;x5;x+) for(y=0;y2) total=day*100; if(day=0) total=100; printf(n我们旅店是按包天计费的。n若按小时,您需要付%f元,但是现在你要付100元(黑店哈哈)n,total); /这种计费方式比较现实。符合实际 else total=day*50; if(day=0) total=50; printf(n我们旅店是按包天计费的。n若按小时,您需要付%f元,但是现在你要付50元(黑店哈哈)n,total); /退出 void outsystem() char message = n酒店登记计费系统. ; for(i=0;istrlen(message);i+) printf(%c,messagei); printf(nn);专心-专注-专业