模拟旅店管理系统—床位的分配与回收

上传人:工**** 文档编号:432876194 上传时间:2023-06-23 格式:DOC 页数:24 大小:296.60KB
返回 下载 相关 举报
模拟旅店管理系统—床位的分配与回收_第1页
第1页 / 共24页
模拟旅店管理系统—床位的分配与回收_第2页
第2页 / 共24页
模拟旅店管理系统—床位的分配与回收_第3页
第3页 / 共24页
模拟旅店管理系统—床位的分配与回收_第4页
第4页 / 共24页
模拟旅店管理系统—床位的分配与回收_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《模拟旅店管理系统—床位的分配与回收》由会员分享,可在线阅读,更多相关《模拟旅店管理系统—床位的分配与回收(24页珍藏版)》请在金锄头文库上搜索。

1、洛 阳 理 工 学 院课 程 设 计 说 明 书课程名称 数据结构 设计课题 模拟旅店管理系统床位的分配与回收 专 业 计算机科学与技术专业 班 级 B120506 学 号 B12050606 姓 名 翟 完成日期 2014年6月13号 课 程 设 计 任 务 书设计题目:模拟旅馆管理系统的一个功能床位的分配与回收 _设计内容与要求:某旅馆有n个等级的房间,第I等级有ai个房间,每个等级有bi个床位(1in)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。基本要求(1)输入数据分配时,输入旅客姓名、年龄、性别、到达日期和所需房间等级

2、。回收时,输入房间等级、房间号和床位号。(2)输出数据分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。 指导教师:张 新 颜 2014 年 6 月 3 日课 程 设 计 评 语 成绩: 指导教师:张 新 颜 年 月 日洛 阳 理 工 学 院 课 程 设 计 报 告一、【问题描述】 某旅馆有n个等级的房间,第I等级有ai个房间,每个等级有bi个床位(1in)。试模拟旅馆管理系统中床位分配和

3、回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。二、【基本与要求】(1)输入数据分配时,输入旅客姓名、年龄、性别、到达日期和所需房间等级。回收时,输入房间等级、房间号和床位号。(2)输出数据分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。三、【测试数据】 首先,初始化旅馆,定义为旅馆:房间等级为两个(1和2);定义级别为1的房间为一个,床位个数为一个;定义级

4、别为2的房间个数为两个,其中1号房有床位2个,2号房间床位个数也为2;然后开始测试。输入:分别输入信息如下表:房间级别姓名年龄性别(0女/1男)入住时间1Zhang2502014 06 082Wang2402014 06 082Li2502014 06 082Zhao2402014 06 092Liu2612014 06 10输出:每输入一个旅客的信息都会输出下表(第一位房客)旅客房间分配表姓名性别年龄等级房号床位时间zhang0251112014 06 08输入第二位房客后输出:旅客房间分配表姓名性别年龄等级房号床位时间wang0242112014 06 08输入第三位房客后输出:旅客房间分

5、配表姓名性别年龄等级房号床位时间li0252122014 06 08输入第四个房客后输出:旅客房间分配表姓名性别年龄等级房号床位时间zhao0242212014 06 09输入第五个房客后输出:旅客房间分配表姓名性别年龄等级房号床位时间liu1262222014 06 10如果再次输入功能选项“1”,则会输出“旅店客满,不能入住”退房操作:输入功能选项“2”执行退房操作,输入退房的等级“2”,输入房号“1”,输入床号“2”。则输出以下内容:此等级、此房间、此床位旅客的信息为:该名旅客的信息:姓名 性别 年龄 入住时间Li 0 25 2014-6-8输入功能选项“2”,继续退房,等级“2”,房号

6、“2”,床号“1”,则输出以下内容:此等级、此房间、此床位旅客的信息为:该名旅客的信息:姓名 性别 年龄 入住时间zhao 0 24 2014-6-9再次入住操作:输入功能键“1”,房间等级“2”然后输入以下表格信息:姓名年龄性别入住日期chen2402014 06 11则输出:旅客房间分配表姓名性别年龄等级号房号床位时间chen0242122014 06 11继续入住操作:输入功能键“1”,房间等级“2” 然后输入以下表格信息:姓名年龄性别入住时间hu2202014 06 12则输出旅客房间分配表姓名性别年龄等级号房号床位时间hu0222212014 06 12查询房客信息:输入“3”,然后

7、输入查询房客的名字“zhao ” 输出“未找到该旅客,请核实后再输入” 再次, 输入“3”,然后输入查询房客的名字“hu” 输出以下表格:旅客房间分配表姓名性别年龄等级号房号床位入住时间hu0222212014 06 12统计旅客信息:输入“4”,则输出:等级为1的房间入住人数为1 等级为2的房间入住人数为4退出本程序:输入“0”,则可以退出本程序。四、【算法思想】客人入住旅店是否已满所需房间等级房间是否已满打印客户信息房间分配成功打印房客表N重新输入结束1、客人入住:当入住的是某房间的第一个旅客,需要对其特别处理,以其客户信息作为本房间旅客链的第一个结点。若非第一位乘客,则要对空的床号进行查

8、找,首先设置一变量“i”,初始化i=1,使其与现有空房的旅客链的每位旅客的床号比较,若发现有床号与i相等,则i自加1,再进行与本房间所有旅客床号比较,若无旅客床号与i的值相等,则返回i,作为本次入住旅客的床号。2、旅客退房退房要退的房的等级等级?房间号房间?床号床号?旅客信息退房?退房成功重输入N重入N重入N返回菜单N退房,若是某房间第一个乘客退房,因为首位旅客信息单元是旅客链的第一的链单元,所以删除时应将下一位旅客的地址赋给本房间存储单元中存放客户指针的单元中,以防止客户链的丢失。 若非第一个旅客退房,则只需要将本旅客的下一位旅客的地址放到这位旅客的前一位旅客的next域里面,然后释放退出旅

9、客的信息单元就行了。五、【模块划分】重要模块:初始化旅馆信息主函数旅客入住旅客退房旅客信息查询旅客统计退出本程序判断是旅店是否已满分配房间床号入住是否有此旅客退出成功是否有此旅客显示旅客信息显示旅馆各等级房间入住人数主要功能函数:初始化函数: void Init(hotel_lv *L)(逐级进行初始化) 判断是否客满:int full(hotel_lv *L)(主机进行查询直到发现空床位截止)打印旅客信息:void Pr_divide(cus* p,fangjian* q )旅客住宿函数:void Pr_divide(cus* p,fangjian* q )(首先调用full()函数,若非满

10、,相应级别查找,有空床位则入住)旅客退房函数:cus* Delete(hotel_lv *L)(逐级查询直至床位,有次床位则删除)查询旅客信息:void cx_customer(hotel_lv *L)(按名字逐级顺序查询)统计旅店当前入住人数:void Tongji_cus(hotel_lv *L)(逐级按房间顺序统计)主函数:void main()(调用各功能函数)六、【数据结构】本次数据结构课程设计,做的是旅店管理系统,定义了三个结构体链表,给等级链表设置了一个头结点,采用链表嵌套方法,等级链表嵌套房间链表,房间链表再嵌套旅客链表。(1)对旅店结构体定义typedef struct ho

11、tel_lv int lv_num; /旅店等级号struct hotel_lv *next; /指向下一等级struct fangjian *fj_next; /指向房间hotel_lv;(2)房间结构体定义typedef struct fangjian int fj_num; /房间号int max; /房间的最大床位数目int mem_num; /房间内的当前人数struct fangjian *next; /指向下一房间struct customer *cus_next; /指向旅客fangjian;(3)对旅客结构体定义typedef struct customer char name15; /旅客姓名int age; /旅客年龄int sex; /旅客性别 int lv; /旅客住宿时的等级号 int bed_num; /旅客的床位号int year;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号