📄 旅馆.cpp
字号:
#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
int num; //房间号
int sex=2; //入住人员性别,初始值为2,男性为0,女性为1
int size; //空闲床位数
int b[n]; //床位数组,1表示已分配,0表示未分配
struct Node *next; //指向下一个房间
}SLNode;
typedef struct
{
int price; //各等级房间费用
SLNode *next; //指向头结点
}Array;
Array grade[n];
void Initiate()
{
printf("请输入各等级房间数和床位数\n");
int i,a;
for(i=0;i<n;i++)
{
printf("请输入各等级房间费用:\n");
scanf("%d",&a);
a[i].price=a;
}
//链表初始化并链接入数组
for(i=0;i<n;i++)
{
int c,e;
printf("请输入房间数\n");
scanf("%d",&c);
for(num=0;num<c;num++)
{
printf("请输入每个房间内的床位个数\n");
scanf("%d",&e);
SLNode.num=num;
SLNode.num.size=e;
}
}
fenpei() //分配房间和床位
{
int g,s,k,*p;
printf("请输入客人信息----等级,性别\n");
scanf("%d %d",&g &s);
p=a[g].next;
for(num=0;num<c;num++)
{
if(p.size=0)
p=p->next;
else
{
if(p->sex==2)
{
p->sex=s;
b[0]=1;
size--;
printf("您的房间号是:%d 床位号是:%d\n",p->num,0);
}
else if(p->sex!=s)
p=p->next;
else if(p->sex==s)
{
for(k=0;k<p->size;k++)
{
if(b[k]==0)
{
b[k]=1;
printf("您的房间号是:%d 床位号是:%d\n",p->num,k);
}
else
k++;
}
}
}
}
}
huishou()
{
int g,m,k;
printf("请输入退房客人的等级,房间号和床位:\");
scanf("%d %d %d",&g &m &k);
int *q;
q=a[g]->next;
while(q->next.num=!m)
{
q=q->next;
}
b[k]=0;
size++;
for(k=0;k<n;k++)
{
if(b[k]!=0)
break;
if(k==n-1)
p.sex=2;
}
}
main()
{
void Initiate();
fenpei();
huishou();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -