版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称数据结构实验名称床的分配和回收实验类型_综合型实验场所计405机械室实验日2017.5.20指导教师魏海平专业软件工程类软件1601学号名字寇春雷辽宁石油化工大学计算机通信工程学院数据结构实验报告评价表项目要求分数有无项目()得分预习报告书(30分钟)实验的目的很明确5实验内容被很好地理解了5实验方案的设计完全合理整个程序的框架已经完全设计好了10完成相关的辅助代码。5试验计划是合理的5实验过程(30分钟)发现问题5问题的分析15问题的解决方法10实验报告(20分钟)内容清清楚楚5如实地记录实验过程10写规则5实验总结(10分)实验结果的分析5根据结果对原实验方案的改进意见5实
2、验体会(10分)实验的成果5对实验内容的发散进行思考5总分实验四模拟酒店管理系统的一个功能床的分配和回收主题:模拟酒店管理系统的功能床的分配和回收1问题的说明:一家酒店有n个阶级的房间,第I个阶级有房间,每个阶级都有床(1In )。 模拟酒店管理系统中床的分配和回收的功能,设计一种给一个旅客分配床,一离开店就回收床的算法。基本要求(1)输入数据分发时,输入旅客的姓名、年龄、性别、到达日期和所需房间的等级。回收时,输入房间等级、房间号码和床号码。2 )输出数据分配成功时,打印旅客的姓名、年龄、到达日期、房间等级、房间号码和床号码。如果分配失败,如果所有等级都没有床,打印“满员”信息的旅客需要的等
3、级没有空床,您想更改等级吗? 印刷的询问信息。 旅客希望交换的话,重新输入有关信息,进行分配。 否则,分配工作就结束了。安装的提示(1)数据结构主要采用顺序结构的链接结构的线性表和堆栈。a )各房间用具有以下5个区域的节点(房节点)来表示性别房间号码现有空地板数PRRLINK其中性别: 0表示房间是空闲的状态表示一个房间分配给女性旅客表示两个房间是分配给男性旅客的当前空房数:数据在0到之间,其中第I类房间的床位数。如果当前空房数为,则表示房间为空;如果为0,则表示房间已满。RLINK :如果房间空闲,且用作空间栈桥的连接房间没有空间,则指下一个房间的节点。BTOP :指向这个房间的空床号码堆上
4、。 房间对应于按顺序显示的空床号堆栈。 堆栈的容量,堆栈中存储着空床号码。 分配时,从堆栈顶部取出空床号码,在将堆栈顶部向下移动(BTOP=BTOP 1)回收时,将堆栈顶部向上移动(BTOP=BTOP-1 ),将回收的空床号码埋入堆栈顶部。各级空房构成空房堆栈已住宿的旅客房间构成连锁堆栈(简称房链),其开头节点的结构如下可分配的女床总数可以分配男子床的总数。东京电视台RLINK其中:第I等级的房间总数第I班每个房间的床位数可以分配男性和女性床数的初始值是*。 因为最初所有的房间和床都可以分配给男性旅客和女性乘客。 在房间链中把床分配给男性(女性)旅客时,从床总数应该减少1的空房中取出房间作为男
5、性(女性)的客房时,应该减少女性(男性)的床数,回收男性(女性)的床数时,增加男性(女性)的床数TTOP :指本级空房栈顶,没有空房时,TTOP=(NIL )。RLINK :指向主页链的第一个顶点,如果主页链为空,则RLINK=(NIL )顺序表s=(),其中,顺序存储第1n类房间的开头节点存储内容如下所示整个店都可以分配女床总数整个店都可以分配女床总数00最初,全店男女床的总数相同,都是在分配回收时,在各等级可以分配男女床的总数的同时,处理成全店可以分配男女床的总数,全店男女床的总数为零时,表示满员。(2)需求分析分析的结果,程序需要以下功能a .可以在程序启动时初始化酒店信息,还可以手动初
6、始化其他程序b .客户到达时,登记客户信息,根据酒店情况和客户情况家庭的要求分配床c .客户结账时,可以打印该账单并回收床d .输入信息时,应该有检查错误的功能,以使输入的信息不超出正常范围4 .概要设计主函数功能模块的区分退出保存信息客人要退房。床的回收客户注册床的分配的双曲馀弦值初始化功能模块说明:1 .信息初始化:应包括两种初始化,第一是每当打开程序时,酒店信息的初始化就自动完成。 二是用户输入酒店信息,完成酒店信息的初始化。2 .显示模块.显示模块是交互所需的模块,包括主菜单、酒店现在的住宿状况。床的分配情况、发票等对用户执行以下操作很有用。3 .客户登记和床分配模块:登记客户信息和床
7、分配。4 .客户退房和床回收模块:登记退房客户信息和床回收。5 .存储信息的模块:包括手动初始化后的客房信息和程序终止前的存储工作,以存储有关酒店的信息。6 .结束:结束程序。4 .源程序代码:#包括 STD afx.h #includeusing namespace std;#include/数据的输入输出#include#include#include#include#define N 7/房间级别#define NUM 4/每个类的房间数#define M 2/每个房间的床数typedef struct customer/客户结构字符串名称;int age;int sex;int day
8、、month、year; /有效期限int bednumber; /这个顾客的床号顾客名称typedef struct room/房间结构顾客人员 m ;英特罗om grade; /这个房间的房间等级int roomnumber; /这个房间的房间号码int peoplein; /这个房间的入住者人数int bedM; /这个房间的床总数struct room *next; /结构指针容量室创建Room *creat()/房间链表room *头部、*p、*q;int i=1,j,k,m=0,h;生成头部=new (room )/头部节点头下一个=空;q=头部; /正位顺序插入表的末尾从whil
9、e (i=N)/第一阶段开始创建一个一个的链表for(j=1; j=NUM; j )/进入这个等级,另建一个房间p=新(room )for(k=0; k个人 k .sex=-1; /表示一个人也没有个人 k .age=0; /将客户信息设为0个人 k .日期=0;p-personk.month=0;个人 k .年=0;/名称不需要初始化p-personk.bednumber=0; /这个顾客的床号以下p-roomgrade=i; /这个房间的基本信息的初始化p-room编号=j; /房间号码p-peoplein=0; /入住人数for(h=0; hbedh=0; /0表示这张床没有人住,1表示
10、人住q-next=p;q=q-next;以下I;以下q-next=NULL;返回(头部)以下void init(Room *head)/初始化举止room * p=头部;PS,R;/p=头;PS!=NULL )举止for(k=0; k个人 k .age=0;个人 k .日期=0;个人 k .month=0;个人 k .sex=-1;个人 k .年=0; /客户名称不需要初始化p-personk.bednumber=0; /这个顾客的床号以下p-peoplein=0; /房价基本信息初始化for(i=0; ibedi=0;p=p-next; /下一个房间搜索以下printf(n -操作成功! -
11、n );printf,打印机,打印机。以下void checkin(Room *head )预约房间Room *p;int i,j,bednumber=0,sex,roomgrade; /欢迎使用printf(n -预约系统-n );printf,打印机,打印机,打印机,打印机。/输入性别和房间等级/名字、年龄字符串名称; int age、day、month、year;printf (名称: );cinname;int len=name.length ();PS (name 0 65 )打印机(错误! 请重新输入。 n );返回;以下printf (年龄: );扫描_ s ( % d ,age
12、 );printf (性别( 1是男性,0是女性) : );扫描_ s ( % d ,sex );printf (房间的截止日期: );printf (年= ); 扫描_ s ( % d ,年);printf (月= ); scanf_s(%d ,month );printf (日= ); 扫描_ s ( % d ,日期);printf (请输入房间等级:(1-%d): ,n )扫描_ s (“% d”,roomgrade );p=头部;英方建号=0; /标记床号码,房间号码int flag=0; /标志是否被成功分配PS!=NULL)/一个房间一个房间检索,预约if (p-room grad
13、e=room grade ) 22222222222222222222222226for(i=1; i=NUM; i )/进入这个等级,寻找房间for(j=0; 找到了jbedj=0)/辅助床标志=1; /标签分配成功bednumber=j 1; /标记床号码坊建号=p-room编号;p -个人 j .name=name; /写入顾客信息p-personj.age=age;p -个人 j .sex=sex;p-personj.year=year;p -个人 j .month=month;p-personj.day=day;p -个人 j .bed number=j 1; /这个顾客的床号码p-bedj=1; /标记这个房间的话这个床已经住了p-p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论