小型酒店管理系统实验报告.docx
- 文档编号:28814240
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:18
- 大小:219.68KB
小型酒店管理系统实验报告.docx
《小型酒店管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《小型酒店管理系统实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
小型酒店管理系统实验报告
浙江工商大学计算机与信息工程学院
课程设计报告
课程名称:
小型信息系统开发
专业:
信息管理与信息系统
班级:
_信息1002
学号:
1012100201
姓名:
朱沿生__
题目:
小型酒店管理系统
指导教师:
张铁柱
2011年5月28日
第一部分:
任务书
小型酒店管理系统
随着社会经济的发展,人们对生活质量的要求越来越高,作为服务之一的宾馆业也在不断的完善服务体制。
它是集餐饮、住宿、娱乐于一体的立体化服务体系,其中顾客可以随意消费并统一结账;宾馆管理者可及时了解宾馆的全部运营情况及经营走势,找出运转成本,作为经营决策的依据。
只有运用先进的科学管理手段,利用计算机管理系统才能更好实现这一管理模式。
宾馆客房管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。
利用宾馆客房管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现宾馆服务的系统化、规范化、自动化。
通过该项目的开发与使用,可实现以下功能:
(1):
快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间
(2):
准确实现客人预订入住的要求,实现有效及有保障的前台系统作业
(3):
快速响应住宿客人的有关项目查询要求
(4):
实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求
第二部分:
数据结构
本程序定义了五个结构体:
date,easy,easy*create,easy*head,ptr分别用于存放日期与时间信息,房间入住状态,当日时间,住房费用信息
1、定义入住信息结构体
structeasy
{
intnumber;
intprice;
structdatepast;
charname[8],id[18];
intx;
structeasy*next;
}
其中各字段意义如下:
intnumber;表示房号
intprice;表示价格
structdatepast;表示入住日期和时间
charname[8],id[18];表示等级客户姓名和地址
intx;表示房间入住状态
第三部分:
系统设计说明
该管理系统适用于各类中小型酒店的客房资源和客户信息的管理,实现了酒店的信息化管理,该系统主要包括基础信息设置、客房前台管理、查询统计管理、挂账管理、系统初始设计、系统维护等功能。
图3.1功能结构图
第四部分:
主要功能模块数据流程图
(一)基础信息设置
1、设置客房信息:
对客房的基本信息进行增加、修改、删除。
2、设置员工信息:
对员工的基本信息进行增加、修改、删除。
3、设置挂账单位:
对挂账单位的基本信息进行增加、修改、删除。
图3.1.2系统登录程序流程图
(二)客房前台管理
1、客房预订:
可以通过此窗口实现客房预订。
2、住宿登记:
客人入住宾馆登记信息,退宿一天前进行提醒。
3、宿费提醒:
查询某日期的提醒信息或全部提醒信息。
图3.1.3住宿登记、修改、查询程序流程图
4、退宿结帐:
可以选择挂账、打折等多种方式,并可以在此增加其他消费项目的费用。
自动提取系统时间以及当前操作员,实现功能为客人的退房结账。
在下拉菜单中选择凭证号码,其他信息自动从数据库中提取,退宿编号为自动分配。
在附加费处选择附加费项目,然后在后面的单行编辑框中输入数目,提中显示对应的消费,并自动计算到应收金额及退还金额中。
下图(图3.1.4)为退宿结帐、查询程序流程图。
NO
YES
NO
YES
图3.1.4退宿结帐、查询程序流程图
(三)查询统计管理
1、客房查询:
通过房间号查询客房基本信息。
2、房态查询:
(未实现)
3、预订房查询:
通过客户姓名查询预订信息。
4、住宿查询:
通过客户姓名查询住宿信息。
5、退宿查询:
通过客户姓名查询退宿信息。
(四)挂账管理
1、挂账查询:
通过挂账单位或地址以及时间段查询挂账信息。
2、挂账结款:
登记挂账单位对挂账的还款。
(五)系统初始设计
1、本单位定义:
设置本单位的基本信息。
2、业务部门定义:
设置各业务部门的相关信息。
(六)系统维护
1、系统初始化:
清空目前的系统数据,将系统恢复为初始状态。
2、操作员管理:
高级管理员登录后可进行操作员的添加、删除以及信息更改。
3、权限设置:
可以设定操作员的管理权限以及具体的可操作功能。
第五部分:
程序运行说明
1.运行程序,出现如下图示:
2.输入日期后进入服务主菜单,如图:
3、选择1,是入住等记,程程序会显示当前为入住的所有房间号,供客户选择。
每次服务完毕后会再次跳转到服务菜单。
4、选择2是显示现今所有房间的入住情况,包括入住人的身份信息等。
5,、选择3是查询客户入住的费用,并提供退房服务。
输入“y”,确认退房。
6、选择4是结账退房,输入房间号码后会显示住宿的天数以及费用。
7、最后,选0是退出这个管理系统。
第六部分:
程序源代码
#include
#include
#include
structdate{
intyear,mouth,day;
}
structeasy{
intnumber,price;
structdatepast;/*入住日期*/
charname[8],id[18];
intx;/*表示房间入住状态*/
structeasy*next;
}
structeasy*creat();
voidinsert(structeasy*head,structeasy*stu);
voidscan(structeasy*head);
voidprint(structeasy*head);
voidrecover(structeasy*stu);
structeasy*back(structeasy*head,intnumber);
voidexchang(intx);
inttime(structdatenow,structeasy*stu);
main()
{
structeasy*head,*stu;
head=creat;
intchioce;
structdatenow;
printf("欢迎使用酒店管理系统\n");
printf("请输入当前日期(例如2010,02,31)\n");
scanf("%d,%d,%d",&now.year,&now.mouth,&now.day);
do{
printf("1-----------------------------------登记入住\n");
printf("2-----------------------------------入住情况\n");
printf("3-----------------------------------当前费用\n");
printf("4-----------------------------------结账退房\n");
printf("0-----------------------------------退出系统\n");
scanf("%d",&chioce);
switch(chioce)
case0:
break;
case1:
{
intnumber1;
prinf("尚未入住的房间有:
");
scan(head);
printf("请输入要入住的房间号");
scanf("%d",&number1);
stu=back(head,number1);
if(stu==NULL)
break;
insert(stu,now);
}
case2:
print(head);
case3:
{
intn,price,number;
printf("输入要查询的房间号");
scanf("%d",&number):
stu=back(head,number);
if(stu==NULL)
break;
printf("共住宿%d天,需付费%d元",time(now,stu),(*stu->price)*time(now,stu));
charchoice1;
printf("是否要退房?
[y]是,输入其它字符退出\n");
scanf("%c",&choice1);
if(choice1==y)
recover(stu);
elsebreak;
}
case4:
{
intnumber2;
printf("请输房号\n");
scanf("%d",&number2);
stu=back(head,number2);
if(stu==NULL)
break;
printf("共住宿%d天,需付费%d元",time(now,stu),(*stu->price)*time(now,stu));
recovre()
}
}while(chioce!
=0);
printf("谢谢使用");
}
/*登记*/
voidinsert(structeasy*stu,structdatenow){
printf("请输入姓名,身份证号");
scanf("%s,%s",&(*stu->name),&(*stu->id));
*stu->past=now;
}
/*计算住宿天数*/
inttime(structdatenow,structeasy*stu){
structeasy;
intn,i;
inta[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};
intb[2]={365,366};
n=now.day-stu->past.day;
if(*stu->past.year!
=date.year){
for(i=1;*stu->past.year+i n+=b[exchang(date.year+i)]; } for(i=0;*stu->past.mouth+i<=12;i++) n+=a[exchang(date.year+i)][*stu->past.mouth+i]; for(i=1;i<*date.mouth;i++) n+=a[exchang(date.year+i)][i]; }else{ for(i=0;*stu->past.mouth+i n+=a[exchang(date.year+i)][*stu->past.mouth+i] returnn; } /*判断是否为闰年*/ voidexchang(intx){ intn; n=x%4; if(n! =0) n=0; elsen=1; } /*初始化房间信息*/ structeasy*creat{ intnumber,price,x; intsize=sizeof(structeasy); structeasy*head,*tail,*p; head=tail=NULL; printf("输入房号,价格\n"); scanf("%d,%d",&number,&price); while(number! =0){ p->number=number; p->price=price; p->x=0; if(head==NULL) head=p; else tail->next=p; tail=p; scanf("%d,%d,%d",&number,&price); } returnhead; } } voidscan(structeasy*head){//查看还未入住的房间号 struct*ptr; for(ptr=head;ptr;ptr=ptr->next) if(ptr->x==0) printf("%d",ptr->number\n); } voidrecover(structeasy*stu){//还原房间信息 free(stu->name); free(stu=>id); free(stu->past); stu->x=0; } structeasy*back(structeasy*head,intnumber) { structeasy*ptr; for(ptr=head;ptr;ptr=ptr->next) if(ptr->number==number) returnptr; else{ printf("输入的房间号不存在,请核对后重新输入"); returnNULL; } } voidprint(structeasy*head) { chara[2]={"是","否"}; structeasy*p; printf("房号是否入住单价(元/天)住户姓名身份证号入住时间"); for(p=head;p;p=p->next){ printf("%d%c%d%s%s"); printf("%d/%d/%d\n",*p->past.year,*p->past.mouth,*p->past.day); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 酒店 管理 系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)