酒店管理系统
更新时间:2023-10-19 19:01:01 阅读量: 综合文库 文档下载
一、设计内容与设计要求 1.设计内容:酒店管理系统 问题描述:
建立酒店客房管理信息系统,采用计算机对客房信息进行管理,进一步提高酒店的经济效益和现代化水平。帮助酒店工作人员提高工作效率,实现客房管理工作流程的系统化、规范化和自动化。
功能要求:
(1)本系统包括数据录入,数据修改,数据添加,数据查询,数据备份和报表生成。 (2)数据信息包括客房号,客房类型,客房价格,折扣情况,客房状态,入住客人信息(姓名,性别,身份证号,入住时间,预计入住期等),客房负责人等。
(3)查询应可以提供多种查询方式,如按房号查询,按月份查询,按价格查询,按客房状态查询等。
(4)客房入住日报表,客房入住月表等。
问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;
(8)完成系统总结报告。
2.设计要求:
? 课程设计报告正文内容
(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等)。 (一)需求分析
系统设计目的与意义
系统功能需求(系统流程图); 输入输出的要求; (二)总体设计 系统功能分析;
系统功能模块划分与设计(系统功能模块图)。 (三)详细设计 数据库需求分析
数据库概念结构设计(E-R图); 数据库逻辑结构设计。
类层次图
1
(四)界面设计与各功能模块实现 (五)系统调试
调试问题出现的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整 (六)使用说明及编程体会
说明如何使用你编写的程序,详细列出每一步的操作步骤。 (七)关键源程序(带注释)
? 考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:
a.平时出勤 (占10%)
b.系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%) c.程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%) d.设计报告(占30%)
注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 e.独立完成情况(占10%)。
?
课程验收要求
a.判定算法设计的合理性,运行相关程序,获得正确的数值结果。 b.回答有关问题。 c.提交课程设计报告。
d.提交软盘(源程序、设计报告文档)。
e.依内容的创新程度,完善程序情况及对程序讲解情况打分。
三、 教材及参考书
朱战立等著, C++面向对象程序设计,人民邮电出版社;
郑莉著, C++ 语言程序设计(含实验指导书)。 清华大学出版社 ( 结构化程序设计部分 ) 钱能主编 ,C++ 程序设计教程,清华大学出版社, 2000.11 戴锋编著, Visual C++ 程序设计基础 , 清华大学出版社 ,2001.4 吕日著, C++ 程序设计教程,清华大学出版社, C++ 大学教程,美国 Harvey M.Deitel 等 四、进度安排
2
目 录
一、需求分析 ........................................................................................................................................... 5
1.系统设计目的与意义 ................................................................................................................ 5 2.系统功能需求(系统流程图) .......................................................................................... 5 3.系统功能流程图 .......................................................................................................................... 5 4.输入输出的要求 .......................................................................................................................... 6 二、详细设计 ........................................................................................................................................... 6
1.类设计: .......................................................................................................................................... 6 三、界面设计与各功能模块的实现 ............................................................................................ 9
1.界面设计 .......................................................................................................................................... 9 四、系统调试 ........................................................................................................................................... 9
1.首页进入客房管理系统主菜单 .......................................................................................... 9 2录入客户客房信息界面: ..................................................................................................... 9 3.显示客户客房信息界面 ....................................................................................................... 10 4.查找客户客房信息界面 ....................................................................................................... 10 5.删除客户客房信息界面 ....................................................................................................... 10 6.修改客户客房信息 .................................................................................................................. 10 五、 使用说明及心得体会 ......................................................................................................... 10 六、附件 ................................................................................................................................................... 11
3
一 需求分析
1.1综述
随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域:管理,网络,计算,控制,多媒体等。并且在某些方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。
现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多宾馆经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多宾馆需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。
1.2系统功能分析
酒店客房预订信息管理系统是一个对客户全方面管理的程序。该客房预订信息管理系统是在Visual C++ 6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括客房信息、客户信息的添加,修改和查询。该系统充分考虑用户的操作简便性,实现快捷操作。它有以下几个功能:
(1)客房设置:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。
(2)客户设置:可以添加新客户,修改客户信息,删除已退订客户等。可准确了解每一客户的预订信息。
(3)房间预订情况查询:可按客户号、房号查询。方便实用,在众多房间、客户中准确查询到某一个房间或客户。
1.3系统总框图
设计一个程序来实现酒店客房预订的管理,该程序应该包含信息录入、输出、修改、删除和查询等功能模块。本程序各功能模块结构总框图如下:
4
二、详细设计
1.类设计
类 customer
int no; //客户编号 char name[10]; //客户姓名 int borbook[Maxbor]; //所订房间 char *getname() {return name;} //获取姓名 int gettag() {return tag;} //获取删除标记 int getno() {return no;} //获取客户编号 void setname(char na[]) //设置姓名 addcustomer(int n,char *na) //增加客户 类RDatabase
int top; //客户记录指针 customer read[Maxr]; //客户记录
void clear() //删除所有客户信 void disp() //输出所有客户信息类book
int no; //客房编号
char name[20]; //客房描述
5
int onshelf; //是否预订 1:空房 2:已预订 void addbook(int n,char *na) //增加客房 int borrowbook() //预订操作 void retbook() //退订操作 void disp() //输出客房 类BDatabase
Book book[Maxb]; //客房记录 int addbook(int n,char *na) //增加客房 Book *query(int bookid) //查找客房
customer RDatabase BDatabase +int top; +int top +int tag; +customer read[Maxr] +int no; #char name[10] +int borbook[Maxbor] #char *getname() {return name;} +int gettag() {return tag;} +int getno() {return no;} +void setname(char na[]) +void addcustomer(int n,char *na) // #Book book[Maxb]; +customer *query(int +BDatabase() +void clear() customerid) +int addbook(int n,char +RDatabase() *na) +void clear() +Book *query(int bookid) +void disp() +void bookdata(); -~RDatabase() +void disp() Book +int tag; -~BDatabase() +int no; #char name[20]; +int onshelf +char *getname() { return name; } +void delbook(){ tag=1;} +void addbook(int n,char *na) +void retbook() +void disp()
6
三 界面设计与各功能模块的实现
1. 界面设计
1.界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。 2.功能模块实现设计
通过主窗体调用其他窗体。应用系统主控界面包括客户信息录入,查找等功能模块。客户信息录入功能完成客户信息和客房的输入。记录查询功能可以对数据各分类的记录进行查询。
四 系统调试
(1)程序主界面:界面简洁明了,一目了然,便于操作。选择数字0-4进入相应功能。
(2)客户信息:主界面选择4进入客户信息管理菜单。
7
(3)客房信息:主界面选择3进入客房信息管理菜单。
(4)订房:主界面选择1进入订房功能。
五 使用说明及心得体会
此次c++课程设计,在指导教师的精心教导下,我学会了如何用C++编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。
六、附件
#include
#include
const int Maxr=100; //最多的客户 const int Maxb=100; //最多的客房
8
const int Maxbor=5; //每位客户最多预订五间客房 //客户类,实现对客户的信息的描述 class customer { private: int tag; //删除标记 1:已删 0:未删 int no; //客户编号 char name[10]; //客户姓名 int borbook[Maxbor]; //所订房间 public: customer() {} 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;i int retbook(int bookid) //退订操作 { for(int i=0;i void disp() //读出客户信息 {cout << setw(5) << no < class RDatabase //客户库类,实现建立客户的个人资料{ private: int top; //客户记录指针 customer read[Maxr]; //客户记录 public: 9 RDatabase() //构造函数,将customer.txt读到read[]中 {customer s; top=-1; fstream file(\ //打开一个输入文件 while (1) {file.read((char *)&s,sizeof(s)); if (!file)break; top++; read[top]=s;} file.close(); } //关闭 customer.txt void clear() //删除所有客户信息 {top=-1;} int addcustomer(int n,char *na) //添加客户时先查找是否存在 {customer *p=query(n); if (p==NULL) {top++; read[top].addcustomer(n,na); return 1;} return 0;} customer *query(int customerid) //按编号查找 {for (int i=0;i<=top;i++) if (read[i].getno()==customerid && read[i].gettag()==0) {return &read[i];} return NULL;} void disp() //输出所有客户信息 {for (int i=0;i<=top;i++) read[i].disp();} void customerdata(); //客户库维护 ~RDatabase() //析构函数,将read[]写到customer.txt文件中 {fstream file(\ for (int i=0;i<=top;i++) if (read[i].gettag()==0) file.write((char *)&read[i],sizeof(read[i])); file.close();}}; void RDatabase::customerdata() {char choice; char rname[20]; int customerid; customer *r; while (choice!='0') {cout <<\客 户 信 息\\n\\n\\n\\t\\t\\t1 新 增\\n\\n\\t\\t\\t2 更 改 \\n\\n\\t\\t\\t3 删 除\\n\\n\\t\\t\\t4 查 找\\n\\n\\t\\t\\t5 显 示\\n\\n\\t\\t\\t6 全 删\\n\\n\\t\\t\\t0 返 回\ 10 cin >> choice; switch (choice) { case '1': cout << \输入客户编号:\ cin >> customerid; cout << \输入客户姓名:\ cin >> rname; addcustomer (customerid,rname); break; case '2': cout << \输入客户编号:\ cin >> customerid; r=query(customerid); if (r==NULL) {cout << \ 该客户不存在 \ break;} cout << \输入新的客户姓名:\ cin >> rname; r->setname(rname); break; case '3': cout << \输入客户编号:\ cin >> customerid; r=query(customerid); if (r==NULL) {cout <<\ 该客户不存在\ break;} r->delbook(); break; case '4': cout << \输入客户编号:\ cin >> customerid; r=query(customerid); if (r==NULL) {cout <<\ 该客户不存在\ break;} r->disp(); break; case '5': disp(); break; case '6': clear(); break; 11 default:cout<<\正在返回主界面...\ class Book //客房类,实现对客房的描述,如客房等级,有无宽带等 {private: int tag; //删除标记 1:已删 0:未删 int no; //客房编号 char name[20]; //客房描述 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) //增加客房 {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? \空房\已预订\ class BDatabase //客房库类,实现对客房的管理,如查找、删除等 {private: int top; //客房记录指针 Book book[Maxb]; //客房记录 public: BDatabase() //构造函数,将book.txt读到book[]中 { Book b; top=-1; fstream file(\ while (1) {file.read((char *)&b,sizeof(b)); if (!file) break; top++; 12 book[top]=b;} file.close();} void clear() //全删 {top=-1;} int addbook(int n,char *na) //增加客房 {Book *p=query(n); if (NULL==p) {top++; book[top].addbook(n,na); return 1;} return 0;} Book *query(int bookid) //查找客房 { for (int i=0;i<=top;i++) if (book[i].getno()==bookid &&book[i].gettag()==0) {return &book[i];} return NULL;} void bookdata(); //客房库维护 void disp() {for (int i=0;i<=top;i++) if (book[i].gettag()==0) book[i].disp();} ~BDatabase() //析构函数,将book[]写到book.txt文件中 {fstream file(\ for (int i=0;i<=top;i++) if (book[i].gettag()==0) file.write((char *)&book[i],sizeof(book[i])); file.close();}}; void BDatabase::bookdata() { char choice; char bname[40]; int bookid; Book *b; while (choice!='0') { cout <<\客 房 信 息 \ cout<<\ 新 增\\n\\n\\t\\t\\t2 更 改\\n\\n\\t\\t\\t3 删 除\\n\\n\\t\\t\\t4 查 找\\n\\n\\t\\t\\t5 显 示\\n\\n\\t\\t\\t6 全 删\\n\\n\\t\\t\\t0 返 回\ cin >> choice; switch (choice) {case '1': cout << \输入客房编号:\ cin >> bookid; cout << \输入客房描述:\ 13 cin >> bname; addbook(bookid,bname); break; case '2': cout << \输入客房编号:\ cin >> bookid; b=query(bookid); if (b==NULL) {cout <<\ 该客房不存在 \ break;} cout << \输入新的客房描述:\ cin >> bname; b->setname(bname); break; case '3': cout <<\输入客房编号:\ cin >> bookid; b=query(bookid); if (b==NULL) { cout <<\ 该客房不存在\ break;} b->delbook(); break; case '4': cout << \输入客房编号:\ cin >> bookid; b=query(bookid); if (b==NULL) { cout <<\ 该客房不存在\ break; } b->disp(); break; case '5': disp(); break; case '6': clear(); break; default:cout<<\正在返回主界面...\ void main() //main() 函数的实现,程序的主界面的引导{ char choice; int bookid,customerid; 14 RDatabase customerDB; customer *r; BDatabase BookDB; Book *b; while(choice!='0') { cout < 15
正在阅读:
酒店管理系统10-19
研究生职业发展十年规划04-21
大堂经理工作总结05-08
控制系统时域与频域性能指标的联系09-22
新五年级上册递等式计算100题09-18
广西广告设计制作行业企业名录2018版10732家 - 图文04-02
浅谈小学数学教学中小组合作学习05-12
自学考试10月高财计算题及答案05-30
面试时简短的自我介绍模板集合10篇04-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 酒店
- 2018新苏教版国标本三年级上册语文《掌声》教学设计六
- 2015-2020年中国锚具投资前景预测及市场评估报告
- 《论语》教学设计
- 2015同济大学818管理学真题回忆版
- 沧源县新型农村社会养老保险和城镇居民社会养老保险制度全覆盖集中宣传活动总结
- 在马克思目前的讲话(复习答案)
- IATF16949-2016质量手册范例 - 图文
- 外国文学史(三、四册)
- 最新-饭店市场营销试题及参考答案 精品
- 110kv变电站毕业设计
- RNA干扰
- 活动记录本模板(新) - 图文
- 速冻调理食品
- 古代文学史期末复习整理
- 第八章 特殊杂货运输
- 2015年专技人员公需科目培训(初级) 考试答案
- 开远市红十字会“十一五”总结
- 数据库查询练习参考答案
- 个人简历的自我评价缺点怎么写
- 怎样选择造葬日课?