酒店管理系统_第1页
酒店管理系统_第2页
酒店管理系统_第3页
酒店管理系统_第4页
酒店管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、设计内容与设计要求1设计内容:酒店管理系统 问题描述:建立酒店客房管理信息系统,采用计算机对客房信息进行管理,进一步提高酒店的经济效益和现代化水平。帮助酒店工作人员提高工作效率,实现客房管理工作流程的系统化、规范化和自动化。功能要求:(1)本系统包括数据录入,数据修改,数据添加,数据查询,数据备份和报表生成。(2)数据信息包括客房号,客房类型,客房价格,折扣情况,客房状态,入住客人信息(姓名,性别,身份证号,入住时间,预计入住期等),客房负责人等。(3)查询应可以提供多种查询方式,如按房号查询,按月份查询,按价格查询,按客房状态查询等。(4)客房入住日报表,客房入住月表等。问题的解决方案:

2、根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;(8)完成系统总结报告。2设计要求:l 课程设计报告正文内容(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等)。(一)需求分析系统设计目的与意义系统功能需求(系统流程图);输入输出的要求;(二)总体设计系统

3、功能分析;系统功能模块划分与设计(系统功能模块图)。(三)详细设计数据库需求分析数据库概念结构设计(ER图);数据库逻辑结构设计。类层次图(四)界面设计与各功能模块实现(五)系统调试调试问题出现的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整(六)使用说明及编程体会说明如何使用你编写的程序,详细列出每一步的操作步骤。(七)关键源程序(带注释)l 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:a平时出勤 (占10%)b系统

4、需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)c程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)d设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。e独立完成情况(占10%)。l 课程验收要求a判定算法设计的合理性,运行相关程序,获得正确的数值结果。b回答有关问题。c提交课程设计报告。d提交软盘(源程序、设计报告文档)。e依内容的创新程度,完善程序情况及对程序讲解情况打分。三、 教材及参考书 朱战立等著, C+面向对象程序设计,人民邮电出版社;郑莉著, C+ 语言程序设计(含实验指导书)。 清华大学出版社 ( 结构化程序设

5、计部分 ) 钱能主编 ,C+ 程序设计教程,清华大学出版社, 2000.11 戴锋编著, Visual C+ 程序设计基础 , 清华大学出版社 ,2001.4 吕日著, C+ 程序设计教程,清华大学出版社, C+ 大学教程,美国 Harvey M.Deitel 等 四、进度安排目 录一、需求分析51.系统设计目的与意义52.系统功能需求(系统流程图)53.系统功能流程图54.输入输出的要求6二、详细设计61.类设计:6三、界面设计与各功能模块的实现91.界面设计9四、系统调试91.首页进入客房管理系统主菜单92录入客户客房信息界面:93.显示客户客房信息界面104.查找客户客房信息界面105.

6、删除客户客房信息界面106.修改客户客房信息10五、使用说明及心得体会10六、附件11一 需求分析1.1综述随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域:管理,网络,计算,控制,多媒体等。并且在某些方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,

7、需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多宾馆经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多宾馆需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。1.2系统功能分析酒店客房预订信息管理系统是一个对客户全方面管理的程序。该客房预订信息管理系统是在Visual C+ 6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括客房信息、客户信息的添加,修改和查询。该系统充分考虑用户的操作简便性,实现快捷操作。它有

8、以下几个功能:(1)客房设置:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。(2)客户设置:可以添加新客户,修改客户信息,删除已退订客户等。可准确了解每一客户的预订信息。(3)房间预订情况查询:可按客户号、房号查询。方便实用,在众多房间、客户中准确查询到某一个房间或客户。1.3系统总框图设计一个程序来实现酒店客房预订的管理,该程序应该包含信息录入、输出、修改、删除和查询等功能模块。本程序各功能模块结构总框图如下:二、详细设计1类设计类 customerint no; /客户编号char name10; /客户姓名int borbookMaxbor; /所订房间char *ge

9、tname() return name; /获取姓名int gettag() return tag; /获取删除标记int getno() return no; /获取客户编号void setname(char na) /设置姓名addcustomer(int n,char *na) /增加客户类RDatabaseint top; /客户记录指针customer readMaxr; /客户记录void clear() /删除所有客户信void disp() /输出所有客户信息类bookint no; /客房编号char name20; /客房描述int onshelf; /是否预订 1:空房

10、2:已预订void addbook(int n,char *na) /增加客房int borrowbook() /预订操作void retbook() /退订操作void disp() /输出客房类BDatabaseBook bookMaxb; /客房记录int addbook(int n,char *na) /增加客房Book *query(int bookid) /查找客房BDatabase+int top; #Book bookMaxb;+BDatabase() +void clear() +int addbook(int n,char *na)+Book *query(int book

11、id) +void bookdata(); +void disp()-BDatabase() RDatabase+int top+customer readMaxr+customer *query(int customerid)+RDatabase()+void clear()+void disp() -RDatabase() Book+int tag; +int no; #char name20; +int onshelf+char *getname() return name; +void delbook() tag=1; +void addbook(int n,char *na)+voi

12、d retbook() +void disp() customer+int tag; +int no;#char name10+int borbookMaxbor#char *getname() return name;+int gettag() return tag;+int getno() return no;+void setname(char na)+void addcustomer(int n,char *na) / 三 界面设计与各功能模块的实现1. 界面设计1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2.功能模块实现设计通过主窗体调用其他窗体。应用系统主控界面包

13、括客户信息录入,查找等功能模块。客户信息录入功能完成客户信息和客房的输入。记录查询功能可以对数据各分类的记录进行查询。四 系统调试(1)程序主界面:界面简洁明了,一目了然,便于操作。选择数字0-4进入相应功能。(2)客户信息:主界面选择4进入客户信息管理菜单。 (3)客房信息:主界面选择3进入客房信息管理菜单。(4)订房:主界面选择1进入订房功能。五 使用说明及心得体会此次c+课程设计,在指导教师的精心教导下,我学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按

14、照程序编写原则,便于查询。六、附件#include #include #include #include /输入/输出文件流类using namespace std;const int Maxr=100; /最多的客户const int Maxb=100; /最多的客房const int Maxbor=5; /每位客户最多预订五间客房/客户类,实现对客户的信息的描述class customer private:int tag; /删除标记 1:已删 0:未删int no; /客户编号char name10; /客户姓名int borbookMaxbor; /所订房间 public:custom

15、er() char *getname() return name;/获取姓名int gettag() return tag; /获取删除标记int getno() return no; /获取客户编号 void setname(char na) /设置姓名 strcpy(name,na);void delbook() tag=1; /设置删除标记 1:已删 0:未删void addcustomer(int n,char *na) /增加客户 tag=0;no=n;strcpy(name,na);for(int i=0;iMaxbor;i+)borbooki=0;void borrowbook(

16、int bookid) /预订操作for(int i=0;iMaxbor;i+) if (borbooki=0)borbooki=bookid;return;int retbook(int bookid) /退订操作 for(int i=0;iMaxbor;i+) if(borbooki=bookid)borbooki=0;return 1;return 0;void disp() /读出客户信息cout setw(5) no setw(10) namet 客房编号:;for(int i=0;iMaxbor;i+)if(borbooki!=0)cout borbooki;cout endl;

17、class RDatabase /客户库类,实现建立客户的个人资料 private: int top; /客户记录指针 customer readMaxr; /客户记录public:RDatabase() /构造函数,将customer.txt读到read中customer s;top=-1;fstream file(customer.txt,ios:in); /打开一个输入文件while (1)file.read(char *)&s,sizeof(s);if (!file)break;top+;readtop=s;file.close(); /关闭 customer.txt void cle

18、ar() /删除所有客户信息top=-1;int addcustomer(int n,char *na) /添加客户时先查找是否存在customer *p=query(n);if (p=NULL)top+; readtop.addcustomer(n,na); return 1;return 0;customer *query(int customerid) /按编号查找for (int i=0;i=top;i+)if (readi.getno()=customerid & readi.gettag()=0)return &readi;return NULL;void disp() /输出所有

19、客户信息for (int i=0;i=top;i+) readi.disp();void customerdata(); /客户库维护RDatabase() /析构函数,将read写到customer.txt文件中fstream file(customer.txt,ios:out); for (int i=0;i=top;i+)if (readi.gettag()=0)file.write(char *)&readi,sizeof(readi);file.close();void RDatabase:customerdata()char choice;char rname20;int cust

20、omerid;customer *r;while (choice!=0)cout nnttt客 户 信 息nnnttt1 新 增nnttt2 更 改nnttt3 删 除nnttt4 查 找nnttt5 显 示nnttt6 全 删nnttt0 返 回 choice;switch (choice) case 1:cout customerid;cout rname;addcustomer (customerid,rname);break; case 2:cout customerid;r=query(customerid);if (r=NULL)cout 该客户不存在 endl; break;co

21、ut rname;r-setname(rname); break; case 3: cout customerid;r=query(customerid);if (r=NULL)cout 该客户不存在 delbook();break;case 4:cout customerid;r=query(customerid);if (r=NULL)cout 该客户不存在disp();break;case 5:disp();break;case 6:clear();break;default:cout正在返回主界面.;break;class Book /客房类,实现对客房的描述,如客房等级,有无宽带等p

22、rivate: int tag; /删除标记 1:已删 0:未删int no; /客房编号char name20; /客房描述int onshelf; /是否预订 1:空房 2:已预订public:Book()char *getname() return name; /获取姓名int getno() return no; /获取客房编号int gettag() return tag; /获取删除标记void setname(char na) /设置客房描述strcpy(name,na);void delbook() tag=1; /删除客房void addbook(int n,char *na

23、) /增加客房tag=0;no=n;strcpy(name,na);onshelf=1;int borrowbook() /预订操作if (onshelf=1)onshelf=0;return 1;return 0;void retbook() /退订操作onshelf=1;void disp() /输出客房cout setw(6) no setw(18) name setw(10)(onshelf=1? 空房:已预订) endl;class BDatabase /客房库类,实现对客房的管理,如查找、删除等private: int top; /客房记录指针Book bookMaxb; /客房记

24、录public:BDatabase() /构造函数,将book.txt读到book中 Book b;top=-1;fstream file(book.txt,ios:in);while (1)file.read(char *)&b,sizeof(b);if (!file) break;top+;booktop=b;file.close(); void clear() /全删top=-1; int addbook(int n,char *na) /增加客房Book *p=query(n);if (NULL=p)top+;booktop.addbook(n,na);return 1;return

25、0;Book *query(int bookid) /查找客房for (int i=0;i=top;i+)if (booki.getno()=bookid &booki.gettag()=0)return &booki;return NULL;void bookdata(); /客房库维护void disp()for (int i=0;i=top;i+) if (booki.gettag()=0) booki.disp();BDatabase() /析构函数,将book写到book.txt文件中fstream file(book.txt,ios:out); for (int i=0;i=top

26、;i+)if (booki.gettag()=0)file.write(char *)&booki,sizeof(booki);file.close();void BDatabase:bookdata() char choice;char bname40;int bookid;Book *b;while (choice!=0)cout nnnttt客 房 信 息 endlendl;coutnttt1 新 增nnttt2 更 改nnttt3 删 除nnttt4 查 找nnttt5 显 示nnttt6 全 删nnttt0 返 回 choice;switch (choice)case 1:cout

27、bookid; cout bname;addbook(bookid,bname);break; case 2:cout bookid;b=query(bookid);if (b=NULL)cout 该客房不存在 endl; break;cout bname;b-setname(bname); break; case 3: cout bookid;b=query(bookid);if (b=NULL) cout 该客房不存在 delbook();break;case 4:cout bookid;b=query(bookid);if (b=NULL)cout 该客房不存在disp();break;case 5:disp();break;case 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论