数据结构课程设计宾馆客房管理系统Word下载.docx

上传人:b****0 文档编号:13282983 上传时间:2022-10-09 格式:DOCX 页数:33 大小:91.77KB
下载 相关 举报
数据结构课程设计宾馆客房管理系统Word下载.docx_第1页
第1页 / 共33页
数据结构课程设计宾馆客房管理系统Word下载.docx_第2页
第2页 / 共33页
数据结构课程设计宾馆客房管理系统Word下载.docx_第3页
第3页 / 共33页
数据结构课程设计宾馆客房管理系统Word下载.docx_第4页
第4页 / 共33页
数据结构课程设计宾馆客房管理系统Word下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

数据结构课程设计宾馆客房管理系统Word下载.docx

《数据结构课程设计宾馆客房管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计宾馆客房管理系统Word下载.docx(33页珍藏版)》请在冰豆网上搜索。

数据结构课程设计宾馆客房管理系统Word下载.docx

//统计当前客人人数函数//查询客人信息函数//退房函数//订房函数//打印客人信息函数//初始化函数//客人结构体定义//宾馆结构体定义

//房间结构体定义

本程序通过主函数调用voidmain()主函数,主函数再调用其他几个功能模块,其中客房数量通过初始化函数来实现,输入客房的数量和床位的数量来确定。

详细设计

1.程序运行流程图

 

宾馆客房初始化

Main

录入客

L人信息

查询客人信息丿

查询入住情况

统计入住情况

退出系统

2•入住流程图

(3)退房业务

(4)查询业务

客人信息查询

输入客人姓名

遍历各等级

不为空

遍历各房间

(5)统计业务

3.各功能模块源代码及详细介绍

⑴主菜单

Init(L);

while

(1)

{

system("

cis"

);

printf("

\n\n\n"

printf

//进入菜单选项

H**********************************************************

**\n"

printf("

*printf("

*

欢迎进入宾馆客房管理系统

*\n"

printf(

\\******************************************************

printf("

printf("

******湖北工程学院计算机学院1117141班胡山权*********\n\n"

版权所有,XX\n"

1录入客人信息\n"

2退房业务\n"

3查询客人信息\n"

4统计客人信息\n"

scanf("

%d"

&

c);

getchar();

switch(c)

0退出系统\n"

请选择你要办理的业务\n"

//做选择

case1:

case2:

input(L);

break;

p=Delete(L);

free(p);

case3:

case4:

cx_customer(L);

tongji_cus(L);

case0:

return;

}

(2)统计当前客人人数函数

voidtongji_cus(hotel_lv*L){hotel_lv*l;

fangjian*f;

cus*t;

inti=0,j=0;

intflag;

l=L->

next;

while(l!

=NULL)

flag=0;

i++;

f=l->

fj_next;

while(f!

if(f->

mem_num==0)f=f->

else

{t=f->

cus_next;

while(t!

{flag++;

j=j+flag;

t=t->

}f=f->

等级为%d的房间的入住人数为%d\n"

i,flag);

l=l->

if(!

j)

此时无人入住。

\n"

system("

pause"

(3).退房业务

cus*Delete(hotel_lv*L)

{cus*p,*q;

charc;

intlv,hotel_num,bed_num;

hotel_lv*l;

l=L->

请输入该退房客人的房间等级号码:

lv);

getchar();

{.

f->

mem_num--;

退房成功!

return(q);

}elsereturnNULL;

//如果该房间内床位为空

}if(q=NULL)

没有找到该床位,请核对信息后重新输入。

if(f==NULL)//如果该等级的房间为空

没有找到该房间号,请从新输入。

if(l==NULL)//如果等级链表为空

没有找到该房间等级,请核对后输入!

(4)查询客人信息

voidcx_customer(hotel_lv*L)

chars[15];

hotel_lv*l;

fangjian*f;

intflag=0;

请输入要查询的客人姓名:

scanf("

%s"

s);

//设置标志量

\n"

//输入要查询的客人姓名

//等级不为空时,走向房间

//房间不为空时,走向床位

//若此房间当前人数为0,走向下一见房

strcmp(t->

name,s)){

Pr_divide(t,f);

t=t->

flag++;

f=f->

l=l->

flag)

//如果找到该客人

//打印信息//指向下一个人,继续查找

//标量加1

没有找到该客人,请核对再输入system("

//标志量为0,则未查找到

//统计函数与查询函数基本类似

(5)入住函数voidinput(hotel_lv*L){

charc;

inti,lv;

fangjian*p1;

cus*s,*p2,*p3;

if(full(L))//判断是否客满

房间已满,不能入住。

请输入旅客所需的房间等级:

"

=NULL)//等级不为空时

if(l->

lv_num!

=lv)

//有此等级时

{p1=l->

while(p1!

=NULL)//房间不为空

if(p1->

mem_num==p1->

max)//是否有空床位

{p1=p1->

if(p1==NULL)

此等级为%d的所有房间均无空位\n是否愿意更好等级[y/n]"

lv);

%c"

//选择

if(c=='

y'

return;

else//客人信息登记

{//因为床位没有设置头结点,所以对于第一个结点要特别判断

if(p1->

mem_num==0)

s=(cus*)malloc(sizeof(cus));

\n\n"

\n入住客人信息:

\n请输入客人的姓名:

s->

name);

\n请输入客人年龄:

(s->

age));

\n请输入客人的性别(如:

男1;

女0):

"

sex));

\n请输入客人入住的时间(如:

19901011):

%d%d%d"

s->

year,&

month,&

day);

lv=lv;

p1->

cus_next=s;

mem_num++;

s->

bed_num=1;

next=NULL;

Pr_divide(s,p1);

cls"

//指针修改

//房间当前最大人数加1

//尾指针设置为空

//打印房间分配表

{p2=p1->

p3=p2;

i=1;

while(i<

=p1->

mem_num){

if(i==p3->

bed_num)

{p3=p3->

i++;

break;

if(p3==NULL)

{s=(cus*)malloc(sizeof(cus));

printf("

\n请输入客人入住的时间(如:

19901011):

while(p2->

next!

=p3)p2=p2->

p2->

next=s;

bed_num=i;

system("

els

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1