实验一 客房管理(链表应用实验)
定义客房链表结点结构HLink
(1)实现创建客房信息链表函数void Build(HLink &H),输入(客房名称、标准价格、床位数),同时修改入住价格、入住状态为默认值,即入住价格=标准价格*80%,入住状态为”空闲”(提示:用strcpy()字符串拷贝函数)。为了提高程序调试效率,强烈建议:用文件操作来输入客房信息(客房名称、标准价格、床位数);
(2)实现输出客房信息函数void Exp(HLink H),输出所有客房的客房名称、标准价格、入住价格、床位数、入住状态;
(3)函数int Find(HLink &H, char *roomN)),查找房间名称为roomN的客房。
(4)实现函数void updateH(HLink &H, int beds, char *state),将床位数为beds的客房入住状态改为state。
(5)函数void Add(HLink &H),将该链表中未入住的客房入住价格均加价20%;
(6)求出入住价格最高的客房函数HLink FirstH(HLink &H),该函数内return语句返回入住价格最高的客房结点指针,返回前将该结点在链表中删除;
(7)函数void MoveK1(HLink &H, int k),将单链表中倒数第k个结点移到第一个结点位置,注意:严禁采用先计算链表长度n再减k(即n-k)的方法;
(8)函数void ReverseN2(HLink &H),将单链表的正中间位置结点之后的全部结点倒置的功能,注意:严禁采用先计算链表长度n再除以2(即n/2)的方法;
(9)函数void SortPriceL(HLink &H),按照客房(入住价格,客房名称)升序排序;
(10)函数void upBed(HLink &H,int beds),创建一个【床位数为beds的新结点】(还需输入:客房名称、标准价格等信息),使链表的形态为:【头结点】->【床位数>beds的结点】->【床位数为beds的新结点】->【床位数=1则输出该客房在链表中的位置序号,否则输出该客房不存在;输出(4)~(10)处理后的链表内容,(6)还要输出入住价格最高的客房信息。
2021-08-03 16:01:50
3KB
数据结构
1