数据结构课程设计--宾馆客房管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计报告
实验名称:宾馆订房和退房系统
**:***
学号:*********
学院:计算机科学与技术学院
专业:网络工程
****:***
一.需求分析
1.实验题目:
宾馆订房和退房系统
2.基本要求:
1)实现宾馆的订房业务
2)实现退房业务
3)实现统计业务
4)实现查询业务
其他:要求在VC++6.0下运行通过
二.概要设计
本程序主要有以下几个功能模块
void main () //主函数
void tongji_cus (hotel_lv *L) //统计当前客人人数函数
void cx_customer (hotel_lv *L) //查询客人信息函数
cus* Delete (hotel_lv *L) //退房函数
void input (hotel_lv *L) //订房函数
void Pr_divide(cus *p,fangjian *q) //打印客人信息函数
void Init(hotel_lv *L) //初始化函数
typedef struct customer //客人结构体定义
typedef struct hotel_lv //宾馆结构体定义
typedef struct fangjian //房间结构体定义
本程序通过主函数调用void main ()主函数,主函数再调用其他几个功能模块,其中客房数量通过初始化函数来实现,输入客房的数量和床位的数量来确定。
三.详细设计1.程序运行流程图
2.入住流程图
3.各功能模块源代码及详细介绍
(1) .主菜单
Init (L);
while (1) //进入菜单选项
{
system ("cls");
printf ("\n\n\n");
printf
("************************************************************\n"); printf("* *\n"); printf ("* 欢迎进入宾馆客房管理系统*\n"); printf("* *\n"); printf ("********************************************************\n"); printf ("******湖北工程学院计算机学院1117141班胡山权*********\n\n"); printf ("------------------------------------------版权所有,侵权必究\n");
printf (" 1 录入客人信息\n");
printf (" 2 退房业务\n ");
printf (" 3 查询客人信息\n");
printf (" 4 统计客人信息\n");
printf (" 0 退出系统\n");
printf (" 请选择你要办理的业务\n");
scanf ("%d",&c); // 做选择getchar ();
switch (c)
{
case 1: input (L);
break;
case 2: p=Delete (L);free (p);
break;
case 3: cx_customer (L);
break;
case 4: tongji_cus (L);
break;
case 0: return;
}
(2) 统计当前客人人数函数
void tongji_cus (hotel_lv *L)
{
hotel_lv *l;
fangjian *f;
cus *t;
int i=0,j=0;
int flag;
l=L->next;
while (l!=NULL)
{
flag=0;
i++;
f=l->fj_next;
while (f!=NULL)
{
if (f->mem_num==0)
f=f->next;
else
{
t=f->cus_next;
while (t!=NULL)
{
flag++;
j=j+flag;
t=t->next;
}
f=f->next;
}
}
printf ("等级为%d的房间的入住人数为%d\n",i,flag);
l=l->next;
}
if (!j)
printf ("此时无人入住。\n");
system ("pause");
}
(3).退房业务
cus* Delete (hotel_lv *L)
{
cus *p,*q; char c;
fangjian *f;
int lv,hotel_num,bed_num;
hotel_lv *l;
l=L->next;
printf ("请输入该退房客人的房间等级号码:\n");
scanf ("%d",&lv);
getchar ();
while (l!=NULL)
{ .
.
.
.
.
{
f->mem_num--;
printf ("退房成功!\n");
system ("pause");
return (q);
}
else
return NULL;
}
}
}
if (q=NULL) //如果该房间内床位为空