五、详细设计说明书1数据结构题目:酒店客房管理系统专业:班级:姓名学号:实训时间:实训地点:成绩:五、详细设计说明书2详细设计说明书目录1.引言..........................................................31.1编写目的..............................................32.总体设计..................................................32.2软件结构..............................................42.3程序描述..............................................53.详细设计..................................................53.1功能......................错误!未定义书签。3.2性能......................................................63.3输入项目..............................................63.4输出项目..............................................63.5算法......................................................63.6程序逻辑..............................................63.7界面浏览.............................................7五、详细设计说明书3引言1.1编写目的完成期中考试作业1.2项目背景酒店客房管理系统主要功能:前台操作:包括开房登记、退房结账和房状态查看预订管理:包括预订房间、预订入住和解除预订信息查询:包括在住客人列表、预订客人列表报表统计:包括开房记录统计、退房结账和预订房间统计完成提示:(1)住店情况记录在住店管理表中:客人姓名、房号、入住时期、预计离开日期、结账离开日期、应付金额(2)每个房间的使用情况记录在房间信息表中:房号、价格、押金、房状态(空,入住)(3)预定情况记录在预订情况表中:客人姓名、房号、入住日期、预计离开日期(4)数据存在文件中2.总体设计2.1需求概述1.客房预定系统客房预定预定未到处理预售查询预定系统可随时查询酒店客房预售一览表,及可售房间数,可查询某间客房预定情况。2.前台接待系统五、详细设计说明书4入住登记预定客房查询可售客房查询3.前台收银系统记帐退房押金加入查帐客人信息查询动态房态查询房间明细帐查询收银员报表当日入住客人报表住店客单查询查询客房状态查询可售情况客房占用统计帐务查询万能查询报表输出2.2软件结构图2.系统总流程图表1:系统总流程数据字典数据流名:登记组成:{客户信息}+{房间信息}+{押金}+时间数据项:客房信息组成:房号+类型+单价+状态组织:房号数据项:状态取值:空房可用空房待修预订占用正在占用数据项:押金组成:预订金+入住押金+入住租金五、详细设计说明书523.程序描述流程图数据字典数据处理名:前台加工简述:在酒店中直接与客人发生关系的活动,为客人提供的一切服务,包括客人进入酒店前的预订,预订后的入住,消费,以及离店前的手续办理。组成:预订+接待+取消预订+离店3.详细设计3.1备注按照客人从住店、离店的过程将系统划分为预订、接待、取消预订和离店四个处理过程。客人通过预订,也可直接到酒店登记住宿。客人预订后,也可能取消预订。表3:个人预订数据字典数据处理名:房间查询简述:根据客人的预订要求,查询客房预订信息表,确定是否有空房输入:客户信息,来源:外部实体“客人”输出:[1]无客房,去处:外部实体“客人”[2]有客房,预订登记表,去处:“客人信息”数据流名称:预订登记表简述:在房间查询有房时所填的表,用于记载客人信息组成:身份证号+姓名+性别+年龄+民族+国籍+家庭住址+VIP+电话客人来店预订,服务员查询“客房预订信息表”,无空房则返回客人。有客房则登记,并核对“客人黑名单”(进行消费而未付帐的客人名单)及“挂帐表”,无误后收取预订押金并记入“预订金入帐表”。数据库1客人预订离店接待取消预订五、详细设计说明书6进行订房,将预订信息记入“客人预订信息表”,修改“客房预订信息表”的客房状态,给客人预订证明表。预订完成。3.2性能1.对数据对象类的确定2.对各类间关联的确定3.系统应提供客房的分类管理功能、4.系统在各功能模块的实现当中,提供多级分类检索和组合搜索3.3输入项目1.客房类型2.员工名或编号3.客房信息4.客房状态3.4输出项目1.客房类型表2.客房信息表3.客房状态表3.5算法见后面3.6程序逻辑是黑客已预订完预订证明表客人收银订房预订金入帐表团体预订信息表客人客人信息查询客人黑名单房间查询客房预订信息表1客房预订信息表2有无空房间订金收据交款预订登记表挂帐单位表五、详细设计说明书73.7界面浏览3.5算法补充#includestdio.h#includestdlib.h#includestring.h#includetime.h//成员变量的声明inti,j,k,p=0;chartemp[]=;introom[5][5];clock_tstart;//成员方法的声明voidinit(){intx,y,z;五、详细设计说明书8for(x=0;x5;x++){for(y=0;y5;y++){room[x][y]=0;}}}voidhotelTitle(){printf(\n-------酒店房间登记与计费管理系统----\n);printf(\t1.登记入住\n);printf(\t2.查询房间的入住情况\n);printf(\t3.查询当前费用\n);printf(\t4.结账退房\n);printf(\t5.退出程序\n);}voidhotel_execute();voidhotel_select();voidhotel_outhotel();voidoutsystem();voidhotel_total();intmain(void){system(colorf1);init();while(1){Loop:hotelTitle();printf(\n请选择:);j=scanf(%d,&k);if(j==0||k1||k5){printf(\n输入错误。\n\t请输入所列出的选项。\n\n3秒后刷新...PleaseWeit!Thanks\n);fflush(stdin);system(cls);gotoLoop;}else{switch(k){case1:hotel_execute();break;case2:hotel_select();break;case3:hotel_total();break;五、详细设计说明书9case4:hotel_outhotel();break;case5:outsystem();return;default:printf(\n\t系统出错!请联系管理员!\n);//怕出现BUGreturn;}}fflush(stdin);//清空缓存}}//入住登记voidhotel_execute(){intx,y,z;printf(请输入你要住本酒店多少层楼的住房?【1-5】);fflush(stdin);L:scanf(%d,&x);p=x;if(x5){printf(不好意思本店没有该层楼房。\n请重新选择:);gotoL;}printf(请输入你要住第%d层的几号房间?【1-5】,x);fflush(stdin);LP:scanf(%d,&y);if(y5){printf(不好意思该层楼并无该房间。\n请重新选择:);gotoLP;//无条件的回去GOTO语句}if(x2){//二层以上则100元一天printf(\n提示:该房是贵宾套房,100元一天\n);}else{printf(\n提示:该房是标准套房,50元一天\n);}if(room[x-1][y-1]==0)//判断该房已经入住{room[x-1][y-1]=1;printf(\n谢谢您的光临,您已经成功登记。\n您的信息如下:\n入住房间:%d-%d\n,x,y);start=clock();}else{printf(警告:该房已经有人入住...请换房入住哈。\n);五、详细设计说明书10}}//查询住房信息voidhotel_select(){intx,y,z;system(cls);//清空内容。//以下没什么重要的。就是控制输出格式printf(宾馆入住情况如下:);printf(\n|-------|--------|--------|--------|--------|--------|\n);printf(||);for(x=1;x=5;x++){printf(房间号|);}printf(\n);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(room[x][y]==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元);elseprintf(该层标间均100元);}}}printf(\n|-------|--------|--------|--------|--------|--------|\n);五、详细设计说明书11printf(\n住房信息:\n);for(x=0,z=0;x5;x++){for(y=0;y5;y++){if(room[x][y]!=0){z++;printf(\t%d-%d有人入住\n,x+1,y+1);}}}if(z==0){printf(\t现无人入住本酒店...\n);}}//结账voidhotel_outhotel(){intx=0,y=0;printf(请输入您要结账退房的楼层编号?);scanf(%d,&x);printf(请输入该楼层退房的房间编号?);scanf(%d,&y);if(room[x-1][y-1]==1){room[x-1][y-1]=0;printf(\n\t房间%d-%d退房成功,再会。\n,x,y);}else{printf(\n\t房间%d-%d退房失败。\n\t\t原因:未入住,是空房,不需要退...再会。\n,x,y);}}//查看价钱voidhotel_total(){//在c语言中有专门处理系统时间,程序计时等等功能的库,即time.h//在time.h中函数clock_tclock(void)可以完成计时功能。//这个函数返回从开启这个程序进程到程序中调用clock()函数时之间的CPU时钟计时单元(clocktick)数,//在MSDN中称之为挂钟时间(wal-clock)。//其中clock_t是用来保存时间的数据类型,在time.h文件中,//我们可以找到对它的定义:#ifndef_CLOCK_T_DEFINEDtypedeflongclock_t;五、详细设计说明书12//#define_CLOCK_T_DEFINED#endif很明显,clock_t是一个长整形数。在time.h文件中,还定义