永发信息网

模拟旅馆管理系统的一个功能——床位的分配与回收(c语言编程)

答案:1  悬赏:50  手机版
解决时间 2021-06-09 00:53
模拟旅馆管理系统的一个功能——床位的分配与回收

题目:模拟旅馆管理系统的一个功能——床位的分配与回收

⒈ 问题描述:

某旅馆有n个等级的房间,第I等级有 个房间,每个等级有个床位(1≤I≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。

⒉ 基本要求

(1)输入数据

分配时,输入旅客姓名、年龄、性别、到达日期和所需房间等级。

回收时,输入房间等级、房间号和床位号。

2)输出数据

分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。

分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。

⒊ 实现提示

(1)数据结构

主要采用顺序结构链接结构的线性表及堆栈。

a) 每个房间用一个如下所示的具有五个字段的结点(房结点)表示:

性别

房间号

现有空床数

BTOP

RLINK

其中,性别:0表示房间为空状态

1表示房间分配给女旅客

2表示房间分配给男旅客

现有空床数:数据在0~ 之间,其中是第I等级一个房间 的床位数,当现有空床数为时,表示房间为空;为0时,表示房间满。

RLINK:当房间空时,用作空房栈的连接;当房间不空时,指向下一个房结点。

BTOP:指向该房间的空床号栈栈顶。一个房间对应一个顺序表示的空床号栈。栈的容量为,栈中存放空床号。分配时,从栈顶取出空床号,栈顶下移(BTOP=BTOP+1);回收时,栈顶上移(BTOP=BTOP-1),将回收的空床号填入栈顶。

每一个等级中的空房间构成一个空房栈;已住旅客的房间构成一个链栈(简称房链),其头结点结构如下:

可分配女床位总数

可分配男床位总数

TTOP

RLINK

其中::第I等级中房间总数

第I等级中每个房间的床位数

可分配男、女床位的总数的初值等于* ,因为开始时所有房间和床位既可以分配给男旅客,也可以分配给女旅客。当在房链中分配一个床位给男(女)旅客,床位总数应减1;当从空房栈中取出一个房间作为男(女)旅客房间时,则可分配女(男)床位总数应减,当回收一个男(女)床位时,则可分配男(女)床位总数应加1;当回收一个男(女)空房至空房栈时,则可分配女(男)床位总数应加。

TTOP:指向本级空房栈栈顶,当无空房间时,TTOP=^(NIL)。

RLINK:指向本级房链第一个顶点,当房链为空时,RLINK=^(NIL)

顺序表s=(),其中,顺序存放第1~n等级房间的头结点;

存放内容如下所示:

全店可分配女床总数

全店可分配女床总数

0

0

^

^

初始时,全店可分配男、女床总数相同,均为 ,在分配或回收时,对各等级可分配男(女)床位总数处理的同时也要对全店可分配男(女)床总数作相应处理,当全店可分配男(女)床总数等于零时,表示客满。

(2)算法设计思想(略)

最佳答案
才给50 太少了 你给过300分 我就给你做哈
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
形容西塘的美丽句子,描写西塘夜景的句子
富拉尔基区齐齐哈尔花园街震东清真餐厅这个地
如图,四棱锥P-ABCD中,四边形ABCD为矩形,△PAD
EVA破剧情及疑问
DNF10月20号出的时尚混搭活动到等级怎么没有
cad中,图形为啥一点就全部选中,怎样选择其
安卓电话录音在哪里找,小米手机录音文件在哪
QQ三国行脚商洞口已经1、4或2、3怎么判断究竟
介绍下最新伤感情歌
DNF PK怎么还限制无色技能?
英雄岛装备合成~
我想组装个机,高手帮忙
想请专业的人士说下 安乐死 是什么
He work on a farm.(对on a farm提问)
想去丽江旅行,大概要多少钱啊?
推荐资讯
值得你为她伤心的人,真的不会让你受到伤害么
为什么很多欧洲人和美国人不午睡下午还能满血
新手任务中装备上破军锤后为什么石头还敲不碎
昨天开始我的空间所有的选项都无效,是什么原
带兔子和鸽子的诗句,赞美鸽子的诗词
无线上网卡是怎样包月的?什么样的比较好呢
dnf加13的玄磁光剑值多少钱?
2个人相处时间长了吵架很正常么?
我很爱自己的男友,可我爸就是不赞同,还逼着
钓鱼大赛几点开始 在哪里钓 有等级限制没
我的DNF想转区我现在华北区,能往哪里转,怎
求个网游 客户端要小点 (网页游戏也可)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?