数据结构课程设计---旅店管理系统——床位的分配与回收内容摘要:
printf(%s\t%d\t%d\t%d%d%d\n,qname,qsex,qage,qyear,qmonth,qday)。 printf(是否与要退房人信息相符。 [y/n]\n)。 scanf(%c,amp。 c)。 if(c==39。 y39。 ) //做出是否退房的选择 { fmem_num。 printf(退房成功。 \n)。 system(pause)。 return(q)。 } else return NULL。 } else //如果床位不为 1 { while(pnext!=q) //指向下一床位 p=pnext。 //打印旅客信息 printf(此等级、此房间、此床位旅客的信息为: \n)。 printf(该名顾客的信息 :\n)。 printf(姓名 \t 性别 \t年龄 \t入住时间 \n)。 printf(%s\t%d\t%d\t%d%d%d\n,qname,qsex,qage,qyear,qmonth,qday)。 printf(是否与要退房人信息相符。 [y/n]\n)。 scanf(%c,amp。 c)。 if(c==39。 y39。 ) //做出是否退房的选择 { pnext=qnext。 fmem_num。 printf(退房成功。 \n)。 system(pause)。 return(q)。 } 洛 阳 理 工 学 院 课 程 设 计 报 告 第 14 页 共 35 页 else return NULL。 } } } if(q==NULL) //如果该房间内床位为空 { printf(未找到该床位号,请核实信息后重新输入。 \n)。 } } } if(f==NULL) //如果该等级的房间为空 { printf(未找到该房间号,请核实信息后重新输入。 \n)。 } } } if(l==NULL) //如果等级链表为空 { printf(未找到该房间等级,请核实信息后重新输入。 \n)。 } system(pause)。 } 6. 测试 与调试 ( 1) 编写时 出现的问题 刚开始,我想旅店管理系统的算法思想与刚做过的学生宿舍管理系统一样, 所以最开始,我定义的结构体数组,进行编写。 可是在初始化的时候,因为旅店跟旅店的情况不一样, 而数组大小有不能用变量来指示,所以在用数组进行初始化的时 候遇到了麻烦。 又想到如果用链表的话,不用定义链表的长度,所以改用链表来编写。 在旅客进行入住情况中,开始没有设置头结点,写到后面越来越不对劲,因为有好多种情况要进行考虑(如:判断是否客满、是否所需等级无空床位等)所以又加入头结点。 在床位分配的时候,因为没有设置床位的头结点,所以要对第一个床位进行特别判断。 然后经过多次调试与修改,最终能实现旅客的入住情况。 旅客退房跟入住时一样,有好多种情况要考虑。 在床位回收的时候,还是因为没有设置床位的头结点,所以要对第一个床位进行特别判断。 还有就是一开始我把那个输入退房人 房间号和床位号的语句放在了循环体内,出现了循环一次要输入一个。 后来经过调试发现了问题,移出来后没有再出现这个问题。 最后进行主函数的界面编写。 查询操作与统计操作比较简单,没有出现什么问题。 由于自己不会文件的保存与读取函数的编写,向其他同学请教的时候,他们也没有写出来。 所以就没有加入文件保存与读取函数。 洛 阳 理 工 学 院 课 程 设 计 报 告 第 15 页 共 35 页 ( 2) 测试数据与结果 初始化 输入 旅客 本测试数据共输入了五名旅客 ( 1)第一人 洛 阳 理 工 学 院 课 程 设 计 报 告 第 16 页 共 35 页 旅客所需的房间等级无空位情况 ( 2)第二人 ( 3) 第三人 洛 阳 理 工 学 院 课 程 设 计 报 告 第 17 页 共 35 页 ( 4)第四人 ( 5)第五人 洛 阳 理 工 学 院 课 程 设 计 报 告 第 18 页 共 35 页 旅店已客满,无法入住 统计 旅店当前入住人数 洛 阳 理 工 学 院 课 程 设 计 报 告 第 19 页 共 35 页 旅客退房情况 ( 1)正常退房 洛 阳 理 工 学 院 课 程 设 计 报 告 第 20 页 共 35 页 退房之后又有人入住 且与以助旅客同名 洛 阳 理 工 学 院 课 程 设 计 报 告 第 21 页 共 35 页 ( 2)退房输入错误 时候 洛 阳 理 工 学 院 课 程 设 计 报 告 第 22 页 共 35 页 查询旅客信息时候 ( 1) 无旅客同名时: 洛 阳 理 工 学 院 课 程 设 计 报 告 第 23 页 共 35 页 ( 2) 有旅客同名时 洛 阳 理 工 学 院 课 程 设 计 报 告 第 24 页 共 35 页 ( 3) 查询错误时候 7. 源程序清单 include include include typedef struct customer //旅客结构体 { char name[15]。 int age。 int sex。 int lv。 int bed_num。 int year。 int month。 int day。 struct customer* next。 }cus。 typedef struct hotel_lv //旅店结构体 { int lv_num。 struct hotel_lv *next。 struct fangjian *fj_next。 }hotel_lv。 typedef struct fangjian //房间结构体 洛 阳 理 工 学 院 课 程 设 计 报 告 第 25 页 共 35 页 { int fj_num。 int max。 int mem_num。 struct fangjian *next。 struct customer *cus_next。 }fangjian。 void Init(hotel_lv *L) //初始化函数 { int i,j,k,l。 hotel_lv *p,*q。 fangjian *p1,*p2,*p3。 printf(请输入房间分为几个等级: \n)。 scanf(%d,amp。 j)。 //输入房间共分为几个等级 q=L。 for(i=1。 i=j。 i++)//初始化该等级的房间 { p=(hotel_lv*)malloc(sizeof(hotel_lv))。 qnext=p。 plv_num=i。 //给房间等级赋值 printf(请输入房间等级为 %d 的房间个数: \n,plv_num)。 scanf(%d,amp。 l)。 //输入该等级的房间数目 if(l==0) continue。 else //初始化该房间内的床位 { p2=(fangjian*)malloc(sizeof(fangjian))。 p2fj_num=1。 printf(请输入房间等级为 %d 房间号为 1 的床位个数的最大值: \n,plv_num,k)。 scanf(%d,amp。 (p2max))。 //输入房间 1 的床位数目 p2mem_num=0。 //该房间内当前人数赋为零 pfj_next=p2。 p3=p2。 for(k=2。 k=l。 k++) { p1=(fangjian*)malloc(sizeof(fangjian))。 p3next=p1。 p1fj_num=k。 printf(请输入房间等级为 %d 房间号为 %d 的床位个数的最大值: \n,plv_num,k)。 scanf(%d,amp。 (p1max))。 //输入房间 k 的床位数目 p1mem_num=0。 //该房间内的当前人数赋为零 p3=p1。 } p3next=NULL。 //房间链表尾指针赋为空 洛 阳 理 工 学 院 课 程 设 计 报 告 第 26 页 共 35 页 } q=qnext。 } qnext=NULL。 //等级链表尾指针域赋为空 system(pause)。 } int full(hotel_lv *L) //判是否客满 { hotel_lv *l。 l=Lnext。 fangjian *f。 while(l!=NULL) { f=lfj_next。 while(f!=NULL) { if(fmem_num!=fmax)。数据结构课程设计---旅店管理系统——床位的分配与回收
相关推荐
je money ysjl varchar 50 供应商名称 gysname varchar 100 入库时间 rkdate datetime 操作员 czy varchar 30 jsr varchar 30 jsfs varchar 10 销售详细信息 tb_sell_detail:公司商品全面的销售信息 字段名 英文名 主键 外键 数据类型 数据长度 取值范围 NULL 默认值 备注 id
图 ER图 大连交通大学数据库课程设计 9 图 ER图 图 ER图 图 ER图 大连交通大学数据库课程设计 10 图 ER图 视图的集成 经过逐步细化再进行每两个一集成初步形成一个 ER 图,最后得到图 总体概念结构 ER 图。 图 ER图 大连交通大学数据库课程设计 11 第四章 逻辑结构 设计 ER 图向关系模型的转换 将图 总体概念结构 ER 图转化成关系模型。 将转化的关系模式进行优化
lysis of data inevitably improves the quality of the ideas and systems that a bureau can offer for the development of the prospect database. In summary, the typical shape of the service available
器备份 网管员每日下班前对服务器做 增量备份 ; 每月 要保存一份月末的完整数据 , 通过 移动硬盘 做备份。 作好相应的编号及相关说明,并移交 公司档案室存档。 备份 数据 维护 a. 为数据备份的保存:备份数据应妥善保存在安全可靠的地方,保存地点应能防火、防盗、防潮。 b. 数据备份的检查: 网管员 应定期(每年至少 1次)检查各类备份资料的情况,及时更新或销毁过期的资料,并作好检查记录
1近端单元( LOU)机箱外观 数字光纤直放站 站用户手册 第 8 页 共 50 页 图 22 远端单元( ROU)机箱外观 简要应用 数字 光纤直放站 系统可以广泛应用于高速公路、高速铁路、地铁、城市中心区、商业密集区、大型体育场馆、大型展览馆等区域的覆盖,还可应用于点状分布的村庄及景点覆盖。 图 23 是直放站系统室外、室内覆盖系统的应用示意图 : 图 23 数字 光纤直放站 系统应用示意图