c语言的酒店管理系统.docx
- 文档编号:12865738
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:41
- 大小:371.47KB
c语言的酒店管理系统.docx
《c语言的酒店管理系统.docx》由会员分享,可在线阅读,更多相关《c语言的酒店管理系统.docx(41页珍藏版)》请在冰豆网上搜索。
c语言的酒店管理系统
基于C语言的酒店管理系统课程设计
学院:
通信与电子工程学院
班级:
电子102班
学号:
20101310852010131012
姓名:
邹远文王帅
指导老师:
题原
日期:
2013年11月27日
摘要
随着个人计算机的的普及,越来越多的重复性工作被交由计算机来完成。
在这种大趋势下,传统的纸质档案管理方式已不适应现代服务业的发展。
数字化的管理成为酒店等行业的必要条件。
酒店客房管理的电脑化对于优化员工工作效率、降低成本及改善服务质量等方面都有十分积极的作用。
本程序是用于酒店管理的软件。
它可以实现定退房业务处理,用户信息的记录、查询及房间状态管理等功能。
虽然比较简陋但已具备应用程序的雏形。
经济上主要考虑本系统带来的效益是否大于开发本系统的成本,由于本系统的开发以课程设计为依托,参与人员的目的以学习为主,投入成本比较小。
另外,系统管理员和业务员都拥有计算机的专业知识,酒店前台工作人员和管理人员不需要经过培训或只需要经过少量培训即可操作本软件。
这样可以为开发本系统节升资金。
同时无纸化办公可以节省资源,减少后期资源浪费。
因此,开发本系统在经济是可行的。
本程序运用MicrosoftVisualC++编译器编写,涉及C语言的文件读写,结构数组运用及字符串函数相关知识。
关键词:
数字化管理酒店管理C语言
第1章
1.1概述
随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。
同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。
为此,国家建设部已于最近作出明确规定:
凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。
可见,酒店管理电脑化势在必行。
酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。
1.1.1酒店管理系统的需求
传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租率,使的管理人员不得不集中精力规划管理运行策略和进行决策。
以上问题可通过电脑系统辅助解决,酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用。
随着社会经济的发展,人们对生活质量的要求越来越高,作为服务之一的酒店业也在不断的完善服务体制。
它是集餐饮、住宿、娱乐于一体的立体化服务体系,其中顾客可以随意消费并统一结账;宾馆管理者可及时了解酒店的全部运营情况及经营走势,找出运转成本,作为经营决策的依据。
只有运用先进的科学管理手段,利用计算机管理系统才能更好实现这一管理模式。
1.2酒店管理系统的当前需求
酒店管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。
利用酒店管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现酒店服务的系统化、规范化、自动化。
通过该项目的开发与使用,可实现以下功能:
(1).快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间
(2).准确实现客人预订入住的要求,实现有效及有保障的前台系统作业
(3).快速响应住宿客人的有关项目查询要求
(4).实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求
1.3酒店管理系统的可行性
随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。
各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。
客房管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。
无疑,使用网络信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。
酒店管理系统是典型的信息管理系统的一部份,而且是必不可少的一部份。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
酒店管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:
效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。
在当今时代,这些完全可以改用计算机来代替人的手工操作。
作为计算机及网络应用的一部分,使用计算机对酒店信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
且办事效率也是决定收入的一个关键因素。
第2章酒店管理系统的功能实现
该管理系统适用于各类中小型酒店的客房资源和客户信息的管理,实现了酒店的信息化管理,该系统主要包括基础信息设置、客房前台管理、查询统计管理、挂账管理、系统初始设计、系统维护等功能。
2.1设计模块
按照需求分析所得,客房信息系统有以下几个功能模块:
2.1.1添加录入信息模块
编写指针摸板,定义临时的客房间数,包括其各项类的成员,编号,类型,定房日期,价格,客房内容,入住天数。
2.1.2修改客房信息模块
读取保存的客房信息数据,根据客房编号查找所需修改的客房信息,然后根据具体所需,修改成员参数,并保存。
2.1.3删除客房信息模块
从保存中的文件中读取信息,删除需要删除的信息,完善现在的客房运作。
2.1.4查询剩余客房函数
分按编号、类型、价格查询,这样可以更具有人性化来选择所剩余的客房,从而进行日常安排。
2.1.5排序剩余客房模块
根据具体所需排序,可以是编号、价格或者类型,本系统中根据的是客房入住的天数来排序。
2.1.6输出剩余客房函数
输出根据系统所需排序后的客房信息,本系统中是根据了客人入住的有效期即天数来及时了解空出的房间。
2.1.7点餐系统
给用户提供用餐的点餐系统,通过菜单来点相应的酒水和菜品,最后通过和房间的匹配来统计价格。
图2—1功能结构图
2.2管理员登陆流程
图2-2登陆流程
2.2主要功能模块数据流程图
2-3功能模块流程图
2.3管理员预处理流程
图2-4前台处理流程
2.4登记入住系统
(1).登记并记录顾客姓名
(2).登记并记录顾客的证件类型及号码
(3).显示现有空置房间
(4).选择所需要的房间并更改房间状态信息
(5).计算并记录住房费及押金
由于本软件针对操作员设计,所以界面应尽可能简单明了。
住房及顾客信息由于涉及多种类型的数据,因此应用结构数组处理。
用文件记录相关数据。
2.5客房状态查询
分别显示已入住客房与空置客房读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。
剩余客房信息查询,可以通过系统对宾馆内剩余的客房进行查询,可以了解到未被预定及未被使用的客房的编号、客房编号、客房类型、客房位置、客房单价等。
2.6住户信息查询
(1).查询顾客所租房房号
(2).查询顾客住房费用
顾客可以通过输入自己的姓名来查询个人的住房信息。
2.7结账退房系统
(1).退房
(2).更新所退房间状态
(3).删除退房用户记录
(4).显示账单
顾客可以输入姓名来完成退房操作,房间状态将更改为未入住。
系统将删除该用户信息记录并读取生成账单。
2.8系统管理
(1).房间设定
(2).更改密码
(3).系统设置
系统管理是每个系统所必须具备的功能,主要是对操作该系统的使用者进行管理(即用户管理),包括用户的增加、删除、密码的修改以及管理各用户操作该系统的权限。
并且实现房间基本设置功能以及各种系统设置功能,比如说房价设置等等。
2.9系统详细设计任务
(1).算法过程的设计:
本详细设计采用的是流程图的方式来表达每个处理过程的算法;
(2).数据结构的设计:
对于处理过程中涉及的概念性的数据类型进行确切的定义;
(3).测试用例设计:
测试用例包括输入数据和预期结果等内容。
第3章系统物理配置方案设计
3.1设计指标
任何系统都应该以用户需求为最终目标,以方便用户为最高原则,同进要融入先进的管理经验与技巧。
该系统努力根据用户的实际需求功能情况,度身订造一套先进的管理系统,并且将在统一的WindowsNT/9X图形界面下提供各种实用功能,尽可能降低使用前的培训、实施和使用中的维护时间。
力求满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。
3.1.1系统的可靠性
该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。
3.1.2系统吞吐量
要提高系统的吞吐量,就要求使用具有大吞吐量的计算机。
应该选择具有较高性能的计算机。
(1).系统响应时间
响应时间不超过2秒
(2).系统处理方式
该系统采用主机系统方式。
(3).地域范围
本系统采用局域网方式。
3.2计算机硬件配置
计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:
(1)内存:
128MB
(2)CPU:
奔三1.0GHZ以上
(3)硬盘:
空余空间4G
(4)编译软件:
microsoftvisualC++6.0
第4章软件分析与设计
运行程序后进入主界面,首先需要管理员权限的账号密码才可以进行登记入住、查询房间、查询顾客、退出程序等几项操作,否则无法进入程序。
4.1软件运行截图
4.1.1登陆界面
图4-1登陆界面
输入用户名和密码即可进入:
图4-2管理员登陆界面
4.1.2入住与选择界面
输入对应的数字,选择不同的功能
如选择入住功能,输入姓名和身份证号:
图4-3登记注册
4.1.3查询界面
按照顾客姓名查询所住房间:
图4-4房间查询
查询房间入住情况:
图4-5房间剩余查询
4.1.4点菜界面
点菜功能的实现:
选择点菜功能,即可显示菜单,输入相应的代码即可选择菜品和份数:
图4-6菜单
输入菜和酒水的名字,系统会提醒所要点的份数:
图4-7选择数量
点菜完成后会显示点菜数量和金额:
图4-8显示点菜数量和总价格
同时会显示提醒输入点菜的客房房号:
图4-9记录点菜的房间号
4.1.5退房结账界面
退房结账时,会显示住房消费和用餐消费金额,同时提醒押金是否足够,如果够则退回,不够则提醒补交:
图4-10退房结算
退房成功后系统会提醒退房成功,同时清除顾客信息!
结论
通过对酒店管理系统的编写,更加掌握了C语言的基本语法,巩固了以前所学的C语言知识。
同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。
通过这周的课程设计,也认识到自己对于C语言的一些不足之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。
在指针和链表方面,以后也还需要和老师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。
参考文献
[1]谭浩强.《C程序设计(第三版)》.清华大学出版社.2005年
[2]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年
[3]陈强.《C语言核心开发技术从开发到精通》.电子工业大学出版社.2006年
[4]严蔚敏、吴为民.《数据结构(C语言版)》.清华大学出版社.2007年
[5]周二强.《新编C程序设计》.清华大学出版社.2011年
[6]钱能.《C++程序设计教程》.清华大学出版社.1999年
[7]邓文华.《数据结构实验和实训教程》.清华大学出版社.2011年
[8]高寒弢.《最短路径算法在交通咨询系统中的应用》.计算机与信息技术.2011年
附录
程序源代码:
#include
#include
#include
#include
#include"windows.h"
//***********************************************************************************
intinitial_room();//初始化80个房间信息
intwelcome();//验证用户登陆,登陆成功显示欢迎信息
intenter();
intcheck_in();
intcheck_out();
intinquire();
intdiancai1();
inti=0;
intcaijia=0;
intpay=0;
typedefintElemType;
//***********************************************************************************
structRoom
{
intnumber;
intrank;
intprice;
intstate;
};
structCustomer
{
charname[13],ID[19];
introom_number;
intpay;
intchange;
intday;
charcaiming;
intcaijia;
};
intset_name(structCustomer*cs,char*n)
{
strcpy(cs->name,n);
return14;
}
intset_ID(structCustomer*cs,char*p)
{
strcpy(cs->ID,p);
return13;
}
intset_room_number(structCustomer*cs,intn)
{
cs->room_number=n;
return12;
}
intset_day(structCustomer*cs,intd)
{
cs->day=d;
return11;
}
char*get_name(structCustomer*cs)
{
returncs->name;
}
char*get_ID(structCustomer*cs)
{
returncs->ID;
}
intget_room_number(structCustomer*cs)
{
returncs->room_number;
}
intget_day(structCustomer*cs)
{
returncs->day;
}
//***********************************************************************************
structRoomroom[60];
structCustomer*customer[60];
//diancai
structcai/*cai结构体实现对菜品已点份数、名称、原材料的记录*/
{
intfenshu;
charname[50];
intuse;
intprice;
};
structList/*该线性表实现对菜品原材料的剩余量的记录,线性表【i】对应菜品的点餐菜单编码*/
{
ElemType*list;
intsize;
intMaxSize;
};
/*以下为线性表的函数*/
voidInitList(structList*L,intms)
{
if(ms<=0){printf("ms值非法!
\n");exit
(1);}
L->MaxSize=ms;
L->list=malloc(ms*sizeof(ElemType));
if(!
L->list)
{
printf("动态存储分配失败!
");
exit
(1);
}
L->size=0;
}
voidagainMalloc(structList*L)
{
ElemType*p=realloc(L->list,2*L->MaxSize*sizeof(ElemType));
if(!
p){
printf("分配存储空间失败!
");
exit
(1);
}
L->list=p;
L->MaxSize=2*L->MaxSize;
}
voidInsertLastList(structList*L,ElemTypex)
{
if(L->size==L->MaxSize)
againMalloc(L);
L->list[L->size]=x;
L->size++;
}
/*表格函数*/
intcddayin(structcaia[])
{
inti=0,j=0;
for(i=0;i<30;i++)
{if(a[i].fenshu>0)j++;}
if(j!
=0)
{
printf("已点菜/酒品编号已点菜品名称已点份数/瓶数价格\n");
for(i=0;i<30;i++)
if(a[i].fenshu>0)
{printf("%5d%10s%14d%d¥\n",i,a[i].name,a[i].fenshu,a[i].fenshu*a[i].price);
caijia=caijia+a[i].fenshu*a[i].price;
}
printf("您好,您点餐价格合计=%d¥\n",caijia);
}
returncaijia;
if(j==0)
printf("顾客尚未点餐,无法进行菜单打印!
\n");
}
voidycliao(structList*yuan,structcaia[])
{
inti=1,p=0,k=0,num;
for(i=0;i<30;i++)
{
do{
p=a[i].use%100;
yuan->list[p]=yuan->list[p]-a[i].fenshu;
a[i].use=a[i].use/100;
}while(a[i].use!
=0);
}
printf("请输入房间号:
");
scanf("%d",&num);
if(num=101&&102&&103&&104&&105){
printf("|-------------------------------------------------------|--------------------|\n");
printf("|------------------原材料余量---------------------------|-----酒品余量-------|\n");
printf("|-------------------------------------------------------|--------------------|\n");
printf("|10.鸡肉=%3d11.猪肉=%3d12.鱼肉=%3d|50.雪花啤酒=%3d|\n",yuan->list[10],yuan->list[11],yuan->list[12],yuan->list[50]);
printf("|13.黄瓜=%3d14.土豆=%3d15.豆腐=%3d|51.燕京啤酒=%3d|\n",yuan->list[13],yuan->list[14],yuan->list[15],yuan->list[51]);
printf("|16.茄子=%3d17.青椒=%3d18.牛肉=%3d|52.二锅头=%3d|\n",yuan->list[16],yuan->list[17],yuan->list[18],yuan->list[52]);
printf("|19.大葱=%3d20.鲜鸭血=%3d21.花生=%3d||\n",yuan->list[19],yuan->list[20],yuan->list[21]);
printf("|22.花椒=%3d23.酱=%3d24.胡萝卜=%3d||\n",yuan->list[22],yuan->list[23],yuan->list[24]);
printf("|25.辣椒=%3d26.芹菜=%3d27.豆皮=%3d||\n",yuan->list[25],yuan->list[26],yuan->list[27]);
printf("|-------------------------------------------------------|--------------------|\n");
printf("|-------------------------------------------------------|--------------------|\n");
}}
voiddiancai(structcaia[],structCustomer*cs)
{
intp=0,wep=0;
/*printf("请输入房间号\n");
scanf("%d",num);
for(i=0;i<60;i++)
if(cs->room[n].number==num)
*/
do{
printf("|----------------------------------------------|-------------------|\n");
printf("|----------菜品(输入-1确认并结束点餐)----------|-------酒品--------|\n");
printf("|----------------------------------------------|-------------------|\n");
printf("|1.红烧狮子头2.飘香桂鱼3.京酱肉丝21.长城干红|\n");
printf("|4.爆炒竹鸡5.水煮鱼6.日本豆腐|22.喜力啤酒|\n");
printf("|7.夫妻肺片8.拍黄瓜9.莲子羹|23.人头马|\n");
printf("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 酒店 管理 系统