酒店客房预订管理系统模板

酒店客房预订管理系统模板

ID:82473147

大小:566.00 KB

页数:65页

时间:2023-07-17

上传者:胜利的果实
酒店客房预订管理系统模板_第1页
酒店客房预订管理系统模板_第2页
酒店客房预订管理系统模板_第3页
酒店客房预订管理系统模板_第4页
酒店客房预订管理系统模板_第5页
酒店客房预订管理系统模板_第6页
酒店客房预订管理系统模板_第7页
酒店客房预订管理系统模板_第8页
酒店客房预订管理系统模板_第9页
酒店客房预订管理系统模板_第10页
资源描述:

《酒店客房预订管理系统模板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

酒店客房预订管理系统63

1资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。院系:计算机科学学院专业、年级:计科(1)大班课程名称:软件工程项目名称:酒店客房预订管理系统学号姓名:10061064朱辰学号姓名:10061065徐丽学号姓名:10081109张赛北学号姓名:10151251张胜南指导教师:刘卫平年12月23日63

2资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。目录第一章系统概述11.1系统开发背景和意义11.2开发语言简介11.3本系统简介11.4系统运行环境2第二章系统需求分析22.1用户需求22.2功能需求32.3性能需求32.4出错处理需求32.5功能图32.6数据流图42.7E-R图5第三章系统总体设计53.1系统功能设计53.2系统功能模块图6第四章系统详细设计84.1系统详细设计进度规划(甘特图)84.2系统详细设计任务84.3系统物理方案配置设计963

3资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。4.4系统输入输出设计94.5系统程序流程图11第五章模块设计思路分析11第六章使用说明12第七章程序源代码16结束语36参考文献37第一章系统概述1.1系统开发背景和意义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,特别在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,63

4资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,特别是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。经过这样的系统,能够做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。1.2开发语言简介酒店客房预订信息管理系统是一个对客户全方面管理的程序。该客房预订信息管理系统是在VisualC++6.0平台下设计开发,以TXT文档为后台数据库,63

5资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。利用VisualC++6.0提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。Microsoft的VisualC++6.0作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网的发展,真正地让人们能够在任何时间、任何地点、经过任何设备得到信息。1.3本系统简介现代化的酒店组织庞大、服务项目多、信息量大,想要提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒店管理系统正是为此而设计的。优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。这也是我所设计本程序的目的之一。本系统针对用户和客户以及客房的管理采用了当今常见的C/S结构而设计。采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括订房,退房,客房信息、客户信息的添加、修改和查询。1.4系统运行环境机型:PC63

6资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。处理器:奔四或更高内存:512M或更高硬盘:4G或更高输入输出设备:键盘、扫描仪、打印机、显示器等。数据库软件:Notepad编程工具、编程语言:visualC++编译软件:MicrosoftVisualC++6.0操作系统:MicrosoftWindowsXP第二章系统需求分析2.1用户需求该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。一个方便地实现对客房变更、房价及预订信息的自动化操作。使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。该软件能系统管理酒店的信息,63

7资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。功能与实现方面有相当的针对性和实用性。该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。2.2功能需求本系统主要具备以下几个基本功能:(1)客房预订:按照客户需求,为新客户分配新客房。(2)退房管理:删除已退客户信息,及时更新客房留存状态,方便新客户入住。(3)客房设置:能够添加新客房,修改客房描述(房间等级,内部设施等),删除客房。(4)客户设置:能够添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。(5)房间预订情况查询:可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某一个房间或客户。2.3性能需求1.技术可行性该客房预订信息管理系统是在VisualC++6.0平台下设计开发,63

8资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。以TXT文档为后台数据库,采用面向对象的语言开发而成,系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。1.经济可行性该系统节省人力资源成本的同时,能够提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求,系统的开发成本低,现有的PC机即可提供该系统开发工作需要的所有硬件设备环境。2.操作可行性直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作中的每一步都会有相应的提示,这样能够让更多的人群在最短的时间内学会使用她。2.4出错处理需求在进行每一步操作时,都会有相应的提示操作,当系统出错时,会有相应的提示信息让你寻找错误,它的简单,易学的特性使得能够广泛普及,让更多的人去使用。(为了更好地阐述需求更能,我们做了详细的图形说明)2.5系统功能图63

9资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。2.6系统数据流图63

10资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。2.7E-R图第三章系统总体设计3.1系统功能设计该系统充分考虑用户的操作简便性,实现快捷操作。它有以下几个功能:(1)客房预订:按照客户需求,为新客户分配新客房。63

11资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(2)退房管理:删除已退客户信息,及时更新客房留存状态,方便新客户入住。(3)客房设置:能够添加新客房,修改客房描述(房间等级,内部设施等),删除客房。(4)客户设置:能够添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。(5)房间预订情况查询:可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某个房间或客户。4.2系统功能模块图根据上述系统功能分析,能得出下面系统软件功能模块图:3.2.1整体模块分配63

12资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。该系统充分考虑用户的操作简便性,实现快捷操作。它有以下四大模块:(1)订房:按照客户需求,为新客户分配新客房。(2)退订:删除已退客户信息,及时更新客房留存状态,方便新客户入住。(3)客房信息:能够添加新客房,修改客房描述(房间等级,内部设施等),删除客房以及查看所有客房的状态信息。(4)客户信息:能够添加新客户,修改客户信息(客户编号,客户姓名),删除已退订客户信息以及查看所有客户的订房状态信息。3.2.2客户信息子模块63

13资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(1)新增:录入客户编号、客户姓名等信息(2)更改:更改相应客户的个人信息。(3)删除:删除相应客户的个人信息。(4)查询:查询所需客户的订房信息。(5)显示:显示所有预订客户的个人信息以及预订房号。(6)全删:删除所有客户信息。3.2.3客房信息子模块63

14资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(1)新增:录入客房编号、客房描述等相关信息。(2)更改:更改相应客房的信息。(3)删除:删除相应客户及客房的信息。(4)查询:查询所需客房的订房状态。(5)显示:显示所有客房的房号以及预订状态信息。(6)全删:删除所有客房信息。第四章系统详细设计4.1系统详细设计进度规划甘特图如下63

15资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。4.2系统详细设计任务1.算法过程的设计:本详细设计采用的是流程图的方式来表示每个处理过程的算法。2.数据结构的设计:对于处理过程中涉及的概念性的数据类型进行确切的定义。3.测试用例设计:测试用例包括输入数据和预期结果等内容。63

16资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。4.3系统物理方案配置设计1.设计指标1)系统的可靠性:该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。系统吞吐量2)要提高系统的吞吐量:要求使用具有大吞吐量的计算机。应该选择具有较高性能的计算机。3)系统响应时间:响应时间不超过2秒4)系统处理方式:该系统采用主机系统方式。2.计算机硬件配置计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:内存:512MB;CPU:奔四1.8GHZ以上;硬盘:空余空间4G。4.4系统输入输出设计4.4.1输入设计原则1.输入数据量设计:需要输入客户数据,数据量不大。63

17资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。2.输入错误检测:检测客户登记状态,确保不会重复登记或登记错误。4.4.2数据输入设备的选择本系统选择键盘、鼠标人工输入方式。4.4.3输入检验设计本系统对输入检验设计的地方有如下几处:1.当前台工作人员输入客户数据时,系统会自动检测该信息是否已在系统中存在。2.当业务员输入房间号时,系统会检测该房间号是否存在,若不存在会提示酒店没该房间。4.4.4输出设计内容1.输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员等。2.信息应以表格及文档形式输出。3.输出设备:打印机、终端显示器。4.输出介质:输出到专用纸张及电脑屏幕上。4.4.5错误改正方法系统出现错误时,将弹出提示框。并允许工作人员改正。63

18资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。4.5系统程序流程图63

19资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。第五章模块设计思路分析本程序共有五大功能模块:新建模块、更改模块、删除模块、查询模块和显示模块。各模块在功能上互相补充,在程序中互相融合,才能实现一个具有多种功能的管理系统。63

20资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(1)新建模块:实现所有客房、订房客户的录入工作。(2)更改模块:提供数据的修改,包括客户姓名、客房描述等。(3)删除模块:将已退订的客户从数据库中删除。(4)查询模块:本程序最重要的模块,也是本系统的精髓所在。经过房间号或客户号实现客房的预订情况以及客户入住情况的查询工作。(5)显示模块:显示所有客房、订房客户的基本信息。在程序设计上,我们的目标就是先实现单个模块,进而实现整个程序。本程序正是本着这种思想,一步一步,有条不紊的进行规划与设计。本程序经过四个类:客户类、客户库类、客房类、客房库类,并经过主函数调用类函数实现了这五大功能模块的功能。第六章使用说明(1)程序主界面:界面简洁明了,一目了然,便于操作。选择数字0-6进入相应功能。63

21资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(2)订房:主界面选择1进入订房功能(3)查询房间预订情况:主界面选择3进入该功能(4)增删客户信息:主界面选择4进入该功能63

22资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。1.增加客户信息:系统提示输入客户号码、姓名等信息,按要求录入即可。2.删除个人信息:系统提示输入要更改的客户号,输入后即可更改该客户的个人信息。3.返回:返回主界面。(5)增删房间信息:主界面选择5进入客房信息管理菜单。63

23资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。1.新增:系统提示输入房间号、房间描述等信息,按要求录入即可。2.删除:系统提示输入要删除的房间号,输入后即可删除该房间。3.返回:返回主界面。(6)查询客户和房间总信息量:主界面选择6进入该功能,经过读取文件信息、预订然后将信息输出显示。63

24资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。(7)退房:主界面选择2进入退房功能。(8)退出:主界面选择0退出程序。1.文件中读取房间信息room63

25资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。1.文件读取客户信息customer第七章程序源代码程序源代码包含三大块:类定义、各功能函数定义及实现和主函数实现类定义源代码:#ifndefINFO_H#defineINFO_H63

26资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。#include#include#includeusingnamespacestd;namespaceinfo_space{classCustomer{public:Customer();stringname;intnumber;//客户编号};classRoom{public:Room();introom_number;introom_level;//房间等级,1-5级stringroom_config;//房间配置:高级,优,良,中等,普通63

27资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。};classCustomerBase{public:CustomerBase();voidadd(Customertemp);//前条件,temp已经含有值voidremove(Customertemp);Customerthe_customer;CustomerBase*next;};classRoomBase{public:RoomBase();voidadd(Roomtemp);voidremove(Roomtemp);Roomthe_room;RoomBase*next;};63

28资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。classInfoBase{public:intcustomer_number;introom_number;InfoBase();voidadd(InfoBase*&temp_ptr,intcnum,intrnum);voidremove(InfoBase*&temp_ptr,intcnum);boolcheck(InfoBase*&temp_ptr,intcnum);boolcheckall(InfoBase*&temp_ptr,intcnum,intrnum);voidoutput(InfoBase*&temp_ptr);InfoBase*next;};typedefCustomerBase*CBasePtr;typedefRoomBase*RBasePtr;typedefInfoBase*IBasePtr;Customer::Customer()//构造函数{name="";number=-1;63

29资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。}Room::Room(){room_number=-1;room_level=0;room_config="";}CustomerBase::CustomerBase(){next=NULL;}RoomBase::RoomBase(){next=NULL;}InfoBase::InfoBase(){next=NULL;}voidpause(){63

30资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。charget;cout<<"请按下任何键继续……"<#include#include#include#include"info.h"namespaceinfo_space{voidreadfile(ifstream&instream,CBasePtr&temp)//从文件中读取客户数据63

31资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{intt_number=-1;stringt_name="";CBasePtrt_temp=newCustomerBase;instream>>t_name;while(!instream.eof()){instream>>t_number;t_temp->the_customer.name=t_name;t_temp->the_customer.number=t_number;if(instream.eof())return;t_temp->next=temp;temp=t_temp;t_temp=NULL;t_temp=newCustomerBase;//循环创立用户信息类instream>>t_name;}}voidwritefile(ofstream&outstream,CBasePtr&temp)63

32资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。//信息写入文件中{if(temp==NULL)return;CBasePtrt_temp=temp;//为了防止写完文件后,指针到达指针尾while(t_temp!=NULL){if(t_temp->the_customer.name=="")t_temp=t_temp->next;if(t_temp==NULL)break;//这两个if语句用来判别输出客户信息outstream<the_customer.name<<""<the_customer.number<next;}}voidreadfile(ifstream&instream,RBasePtr&temp)//读取文件函数的重载{intnumber=-1;intlevel=0;63

33资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。stringconfig="";RBasePtrt_temp=newRoomBase;instream>>number;while(!instream.eof()){instream>>level;instream>>config;t_temp->the_room.room_number=number;t_temp->the_room.room_level=level;t_temp->the_room.room_config=config;if(instream.eof())return;t_temp->next=temp;temp=t_temp;t_temp=NULL;t_temp=newRoomBase;instream>>number;}}voidwritefile(ofstream&outstream,RBasePtr&temp)63

34资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{if(temp==NULL)return;RBasePtrt_temp=temp;while(t_temp!=NULL){if(t_temp->the_room.room_number==-1)t_temp=t_temp->next;if(t_temp==NULL)break;//这两个if语句用来判别输出房间信息outstream<the_room.room_number<<""<the_room.room_level<<""<the_room.room_config<next;}}boolcheck(CBasePtr&temp_ptr,intnumber)//若找到相同编号则返回true,否则返回false{CBasePtrthe_ptr=temp_ptr;while(the_ptr!=NULL){63

35资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。if(the_ptr->the_customer.number==number)returntrue;elsethe_ptr=the_ptr->next;}returnfalse;}boolcheck(RBasePtr&temp_ptr,intnumber)//核对预订的客户和客房信息,看是否还有空房{RBasePtrthe_ptr=temp_ptr;while(the_ptr!=NULL){if(the_ptr->the_room.room_number==number)returntrue;elsethe_ptr=the_ptr->next;}returnfalse;}voidCustomerBase::add(Customertemp)//添加客户信息63

36资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{if(temp.name==""||temp.number==-1){cout<<"用户信息未填写完整,请重新填写!";return;}else{ifstreaminstream;ofstreamoutstream;instream.open("E:\\customer.txt");CBasePtrtemp_ptr=NULL;readfile(instream,temp_ptr);//读取文件中的客户信息,存入temp_ptr中CBasePtrtt_ptr=temp_ptr;//用此临时指针获取指针尾部指针,从而让新客户信息加到指针尾部,写入的时候也会相应写到文件尾部while(tt_ptr->next!=NULL)tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.number))63

37资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{cout<<"客户编号已经存在,请核查!"<the_customer=temp;tt_ptr->next=ptr;}outstream.open("E:\\customer.txt");//open函数会刷新文档,里面存储的内容全失writefile(outstream,temp_ptr);//将新的链表信息写入文件中}}voidCustomerBase::remove(Customertemp)//删除客户信息{intflag=0;//设置一个标记,用来检验删除是否成功ifstreaminstream;63

38资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。ofstreamoutstream;instream.open("E:\\customer.txt");CBasePtrtemp_ptr=NULL;readfile(instream,temp_ptr);//读取文件中的客户信息,存入temp_ptr中if(!check(temp_ptr,temp.number)){cout<<"不存在此编号!"<the_customer.number==temp.number){temp_ptr=temp_ptr->next;//如果第一个元素就是要删除的元素则直接删除after=NULL;//元素已经删除,能够直接写入文件中,设置after为NULL跳过while循环flag=1;}63

39资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。while(after!=NULL){if(after->the_customer.number==temp.number){before->next=after->next;flag=1;//删除成功,设置标志为1}else{before=before->next;after=before->next;}}//while循环结束if(flag==0)cout<<"不存在此编号!"<

40资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。voidRoomBase::add(Roomtemp)//文件中存在的房间信息{if(temp.room_number==-1||temp.room_level==0||temp.room_config==""){cout<<"房间信息未填写完整,请重新填写!";return;}else{ifstreaminstream;ofstreamoutstream;instream.open("E:\\room.txt");RBasePtrtemp_ptr=NULL;readfile(instream,temp_ptr);//读取文件中的房间信息,存入temp_ptr中RBasePtrtt_ptr=temp_ptr;//用此临时指针获取指针尾部指针,从而让新房间信息加到指针尾部,写入的时候也会相应写到文件尾部63

41资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。while(tt_ptr->next!=NULL)tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.room_number)){cout<<"房间编号已经存在,请核查!"<the_room=temp;tt_ptr->next=ptr;}outstream.open("E:\\room.txt");writefile(outstream,temp_ptr);//将新的链表信息写入文件中}}voidRoomBase::remove(Roomtemp){intflag=0;//设置一个标记,用来检验删除是否成功63

42资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。ifstreaminstream;ofstreamoutstream;instream.open("E:\\room.txt");RBasePtrtemp_ptr=NULL;readfile(instream,temp_ptr);//读取文件中的房间信息,存入temp_ptr中if(!check(temp_ptr,temp.room_number)){cout<<"不存在此编号!"<the_room.room_number==temp.room_number){temp_ptr=temp_ptr->next;//如果第一个元素就是要删除的元素则直接删除after=NULL;//元素已经删除,能够直接写入文件中,设置after为NULL跳过while循环63

43资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。flag=1;}while(after!=NULL){if(after->the_room.room_number==temp.room_number){before->next=after->next;flag=1;//删除成功,设置标志为1}else{before=before->next;after=before->next;}}//while循环结束if(flag==0)cout<<"不存在此编号!"<

44资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。}voidInfoBase::add(IBasePtr&temp_ptr,intcnum,intrnum)//增加预定信息{if(cnum<0||rnum<0){cout<<"请填写一个正整数编号!";return;}else{IBasePtrptr=newInfoBase;ptr->customer_number=cnum;ptr->room_number=rnum;ptr->next=temp_ptr;temp_ptr=ptr;}}voidInfoBase::remove(IBasePtr&temp_ptr,intcnum)//退订后删除相关预定信息63

45资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{IBasePtrbefore=temp_ptr,after=temp_ptr;if(before->customer_number==cnum){temp_ptr=temp_ptr->next;cout<<"退订成功!"<customer_number==cnum){before->next=after->next;cout<<"退订成功!"<next;after=before->next;}63

46资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。}}boolInfoBase::check(IBasePtr&temp_ptr,intcnum)//检查该客户是否预定房间{IBasePtrptr=temp_ptr;while(ptr!=NULL){if(ptr->customer_number==cnum)returntrue;elseptr=ptr->next;}returnfalse;}boolInfoBase::checkall(IBasePtr&temp_ptr,intcnum,intrnum){IBasePtrptr=temp_ptr;while(ptr!=NULL){if(ptr->customer_number==cnum)63

47资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{cout<<"该客户已经预订房间!"<room_number==rnum){cout<<"该房间已被预订!"<next;}returnfalse;}voidInfoBase::output(IBasePtr&temp_ptr){if(temp_ptr==NULL){cout<<"没有房间预订信息可查!"<

48资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{IBasePtrptr=temp_ptr;while(ptr!=NULL){cout<customer_number<<"号客户选择了"<room_number<<"号房间"<

49资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。#include#include#include#include"Info.h"//包含所有的类定义#include"info_fun.h"//包含所有的函数定义usingnamespaceinfo_space;intmain(){intchoice;intcustomer_number,room_number;CBasePtrCB_ptr=NULL;RBasePtrRB_ptr=NULL;IBasePtrIB_ptr=NULL;Customerthe_customer;Roomthe_room;ifstreamin_customer;in_customer.open("E:\\customer.txt");//打开存储客户信息的文件ifstreamin_room;in_room.open("E:\\room.txt");//打开存储房间信息的文件label_menu:63

50资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cout<<"-------房间预订菜单-------"<>choice;if(choice>6||choice<0){cout<<"输入的数字有误,请重新输入!"<

51资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cout<<"请输入客户编号和房间编号"<>customer_number;cout<<"房间编号:"<>room_number;readfile(in_customer,CB_ptr);//读取文件客户信息if(!check(CB_ptr,customer_number)){cout<<"客户编号不存在,请核查!"<

52资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。}if(!IB_ptr->checkall(IB_ptr,customer_number,room_number))//客户没有预订房间且房间没有被预订IB_ptr->add(IB_ptr,customer_number,room_number);break;}case2:{cout<<"请输入客户编号:"<>customer_number;readfile(in_customer,CB_ptr);//读取文件客户信息if(!check(CB_ptr,customer_number)){cout<<"客户编号不存在,请核查!"<

53资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。}if(IB_ptr->check(IB_ptr,customer_number))//检查该客户是否已经预定房间IB_ptr->remove(IB_ptr,customer_number);else{cout<<"该客户未预定房间,请核查!"<output(IB_ptr);break;}case4:{intchoose;63

54资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cout<<"1………………增加客户信息"<>choose;switch(choose){case1:{stringname="";intnumber=-1;Customertemp;cout<<"请输入客户名称和编号:"<>name;cout<<"客户编号:"<>number;temp.name=name;temp.number=number;CB_ptr->add(temp);break;}63

55资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。case2:{stringname="";intnumber=-1;Customertemp;cout<<"请输入客户编号:"<>number;temp.name=name;temp.number=number;CB_ptr->remove(temp);break;}case3:{system("cls");gotolabel_menu;}}break;}case5:63

56资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{intchoose;cout<<"1………………增加房间信息"<>choose;switch(choose){case1:{intnumber=-1;intlevel=0;stringconfig="";Roomtemp;cout<<"请输入房间编号,等级(1-5级),配置(高级,优,良,中等,普通):"<>number;cout<<"房间等级:"<>level;cout<<"房间配置:"<

57资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cin>>config;temp.room_number=number;temp.room_level=level;temp.room_config=config;RB_ptr->add(temp);break;}case2:{intnumber=-1;intlevel=0;stringconfig="";Roomtemp;cout<<"请输入房间编号:"<>number;temp.room_number=number;temp.room_level=level;temp.room_config=config;RB_ptr->remove(temp);63

58资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。break;}case3:{system("cls");gotolabel_menu;}}break;}case6:{readfile(in_customer,CB_ptr);readfile(in_room,RB_ptr);//读取两个文件的所有信息CBasePtrcptr=CB_ptr;RBasePtrrptr=RB_ptr;//不修改两个主要变量的的指向内容,因此定义了两个临时变量cout<<"所有客户信息:"<the_customer.number==-1){63

59资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cout<<"---------没有任何客户信息!"<the_customer.number)){cout<the_customer.number<<"号客户("<the_customer.name<<")------已经预订房间"<the_customer.number<<"号客户("<the_customer.name<<")------还未预订房间"<next;}cout<<"所有房间信息:"<the_room.room_number==-1){63

60资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。cout<<"----------没有任何房间信息!"<the_room.room_number)){cout<the_room.room_number<<"号房间("<the_room.room_level<<"级"<the_room.room_config<<")------已经被预订"<the_room.room_number<<"号房间("<the_room.room_level<<"级"<the_room.room_config<<")------还未被预订"<next;}break;}case0:63

61资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。{exit(0);}default:gotolabel_menu;}pause();//system("cls");gotolabel_menu;return0;}结束语经过一段时间的设计与编写,该酒店管理系统终于有了一个比较完整的框架。现将心得体会总结如下:由于时间仓促,这暂时只是一个简单的管理系统,但从设计这个系统的过程中,我感受到了关于软件工程各方面知识在实际工作中的应用。在开发该系统过程中,我始终坚持以下几项原则,并朝相应目标靠拢:1.实用为主任何系统都应该以用户需求为最终目标,以方便用户为最高原则,63

62资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。同进要融入先进的管理经验与技巧。该系统努力根据用户的实际需求功能情况,力求满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。2.稳定可靠不论在软件设计还是硬件制造中,稳定都是压倒一切的。本管理系统经过选用先进的开发软件,成熟的网络结构及安全可靠的数据库,再配合硬件的优化选型,从而保证系统的可靠性与容错性。3.维护扩展方便本系统的所有设计均遵循现行标准进行,以提高系统的开放性,方便以后业务的扩展和系统扩容,便于软、硬件的维护、升级等,使系统能适应企业未来的需要。酒店管理系统市场前景广阔,利润回报丰厚。但事实上,酒店业本身早就进入了微利甚至亏损时代,加之市场竞争激烈,软件开发商的单个项目利润大不如前,从而导致一些实力不足的开发商被淘汰出局。而使用了该系统的酒店,因为失去了原开发商的技术支持,也不得不更换软件系统,从而造成投资上的浪费。酒店业涉及的信息系统和产品众多,却缺乏统一的行业标准使各个供应商相互协调,一方面造成资源浪费与互不兼容,另一方面也阻碍了整体水平的提高,63

63资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。无法完全符合酒店的需要。在技术开发与酒店需求上,酒店IT现存需求-供给矛盾:其一,技术功能与酒店需求错位。当前的管理软件系统未能有效解决酒店当前面临的关键问题--销售与成本控制。现在酒店管理软件多是用于内部运作和管理,其主要诉求点在于提高效率,还谈不上直接降低成本。在某种程度上,酒店运用电脑以后,人工成本未必降低,甚至有可能增加。运用计算机以后,仅是管理的量化程度提高、数据的流转速度加快。然而酒店迫在眉睫的矛盾是,在行业不景气的情况下,总在权衡投入成本与产出效益的比重。在中国酒店行业尚处于比较困难的现阶段,开源节流尤为重要,直接对市场的技术要求日益凸显,而当前酒店直接面对市场的销售手段还停留在拜访、打电话、发传真等传统形式。现有的软件不能直接帮助开源节流,这是当前技术与需求的差距。一个软件开发商发出这样的感叹:”当前再好的酒店软件也不能使酒店的经营有特色,对客人有直接影响。”这也是酒店不愿意在IT方面投入更多的主因之一。其二,科技与服务主体错位。当前的酒店IT未能直接对客户服务,63

64资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。而只是作为”幕后英雄”进行辅助管理。总体而言,国内酒店IT技术开发的现状是:1.需求不明确,使酒店项目工程性强,产品化不足,开发商的总体成本居高不下,研发缺乏原动力。2.没有行业统一标准,厂商各自为政,市场分化导致产品整合难度大。3.产品推广依赖行政手段和关系网,抑制了新技术的引进和技术的创新,不利于形成自己的产品特色和质量控制。4.国外优秀品牌的低价进入,垄断了国内高星级市场,开发商利润空间微小。参考文献[1]张海藩.软件工程导论(第五版).清华大学出版社,[2](美)WalterSavitchC++面向对象程序设计(第6版).清华大学出版社,[3]彭伟民.基于需求的酒店管理系统的建模与实现.微机发展..1063

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭