酒店管理系统1Word格式文档下载.docx
《酒店管理系统1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《酒店管理系统1Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
●考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。
具体考核标准包含以下几个部分:
a.平时出勤(占10%)
b.系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)
c.程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)
d.设计报告(占30%)
注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
e.独立完成情况(占10%)。
●课程验收要求
a.判定算法设计的合理性,运行相关程序,获得正确的数值结果。
b.回答有关问题。
c.提交课程设计报告。
d.提交软盘(源程序、设计报告文档)。
e.依内容的创新程度,完善程序情况及对程序讲解情况打分。
三、
教材及参考书
朱战立等著,C++面向对象程序设计,人民邮电出版社;
郑莉著,C++语言程序设计(含实验指导书)。
清华大学出版社(结构化程序设计部分)
钱能主编,C++程序设计教程,清华大学出版社,2000.11
戴锋编著,VisualC++程序设计基础,清华大学出版社,2001.4
吕日著,C++程序设计教程,清华大学出版社,
C++大学教程,美国HarveyM.Deitel等
四、进度安排
一需求分析
1.1综述
随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域:
管理,网络,计算,控制,多媒体等。
并且在某些方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。
现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。
面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。
通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。
当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。
许多宾馆经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。
因此,许多宾馆需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。
1.2系统功能分析
酒店客房预订信息管理系统是一个对客户全方面管理的程序。
该客房预订信息管理系统是在VisualC++6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括客房信息、客户信息的添加,修改和查询。
该系统充分考虑用户的操作简便性,实现快捷操作。
它有以下几个功能:
(1)客房设置:
可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。
(2)客户设置:
可以添加新客户,修改客户信息,删除已退订客户等。
可准确了解每一客户的预订信息。
(3)房间预订情况查询:
可按客户号、房号查询。
方便实用,在众多房间、客户中准确查询到某一个房间或客户。
1.3系统总框图
设计一个程序来实现酒店客房预订的管理,该程序应该包含信息录入、输出、修改、删除和查询等功能模块。
本程序各功能模块结构总框图如下:
二、详细设计
1.类设计
类customer
intno;
//客户编号
charname[10];
//客户姓名
intborbook[Maxbor];
//所订房间
char*getname(){returnname;
}//获取姓名
intgettag(){returntag;
}//获取删除标记
intgetno(){returnno;
}//获取客户编号
voidsetname(charna[])//设置姓名
addcustomer(intn,char*na)//增加客户
类RDatabase
inttop;
//客户记录指针
customerread[Maxr];
//客户记录
voidclear()//删除所有客户信
voiddisp()//输出所有客户信息
类book
//客房编号
charname[20];
//客房描述
intonshelf;
//是否预订1:
空房2:
已预订
voidaddbook(intn,char*na)//增加客房
intborrowbook()//预订操作
voidretbook()//退订操作
voiddisp()//输出客房
类BDatabase
Bookbook[Maxb];
//客房记录
intaddbook(intn,char*na)//增加客房
Book*query(intbookid)//查找客房
三界面设计与各功能模块的实现
1.界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。
2.功能模块实现设计
通过主窗体调用其他窗体。
应用系统主控界面包括客户信息录入,查找等功能模块。
客户信息录入功能完成客户信息和客房的输入。
记录查询功能可以对数据各分类的记录进行查询。
四系统调试
(1)程序主界面:
界面简洁明了,一目了然,便于操作。
选择数字0-4进入相应功能。
(2)客户信息:
主界面选择4进入客户信息管理菜单。
(3)客房信息:
主界面选择3进入客房信息管理菜单。
(4)订房:
主界面选择1进入订房功能。
五使用说明及心得体会
此次c++课程设计,在指导教师的精心教导下,我学会了如何用C++编写一个简单的应用程序。
首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。
程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。
六、附件
#include<
iostream>
iomanip>
string>
fstream>
//输入/输出文件流类
usingnamespacestd;
constintMaxr=100;
//最多的客户
constintMaxb=100;
//最多的客房
constintMaxbor=5;
//每位客户最多预订五间客房
//客户类,实现对客户的信息的描述
classcustomer
{private:
inttag;
//删除标记1:
已删0:
未删
intno;
charname[10];
intborbook[Maxbor];
public:
customer(){}
char*getname(){returnname;
}//获取姓名
intgettag(){returntag;
intgetno(){returnno;
voidsetname(charna[])//设置姓名
{strcpy(name,na);
}
voiddelbook(){tag=1;
}//设置删除标记1:
voidaddcustomer(intn,char*na)//增加客户
{tag=0;
no=n;
strcpy(name,na);
for(inti=0;
i<
Maxbor;
i++)
borbook[i]=0;
voidborrowbook(intbookid)//预订操作
{for(inti=0;
{if(borbook[i]==0)
{borbook[i]=bookid;
return;
}}}
intretbook(intbookid)//退订操作
{for(inti=0;
{if(borbook[i]==bookid)
{borbook[i]=0;
return1;
}}
return0;
voiddisp()//读出客户信息
{cout<
<
setw(5)<
no<
setw(10)<
name<
"
\t客房编号:
["
;
if(borbook[i]!
=0)
cout<
borbook[i];
cout<
"
]"
endl;
}};
classRDatabase//客户库类,实现建立客户的个人资料
inttop;
customerread[Maxr];
public:
RDatabase()//构造函数,将customer.txt读到read[]中
{customers;
top=-1;
fstreamfile("
customer.txt"
ios:
:
in);
//打开一个输入文件
while
(1)
{file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
file.close();
}//关闭customer.txt
voidclear()//删除所有客户信息
{top=-1;
intaddcustomer(intn,char*na)//添加客户时先查找是否存在
{customer*p=query(n);
if(p==NULL)
{top++;
read[top].addcustomer(n,na);
return1;
customer*query(intcustomerid)//按编号查找
{for(inti=0;
=top;
if(read[i].getno()==customerid&
&
read[i].gettag()==0)
{return&
read[i];
returnNULL;
voiddisp()//输出所有客户信息
read[i].disp();
voidcustomerdata();
//客户库维护
~RDatabase()//析构函数,将read[]写到customer.txt文件中
{fstreamfile("
out);
for(inti=0;
if(read[i].gettag()==0)
file.write((char*)&
read[i],sizeof(read[i]));
file.close();
voidRDatabase:
customerdata()
{charchoice;
charrname[20];
intcustomerid;
customer*r;
while(choice!
='
0'
)
\n\n\t\t\t客户信息\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返回"
cin>
>
choice;
switch(choice)
{case'
1'
输入客户编号:
cin>
customerid;
输入客户姓名:
rname;
addcustomer(customerid,rname);
break;
case'
2'
r=query(customerid);
if(r==NULL)
{cout<
该客户不存在"
输入新的客户姓名:
r->
setname(rname);
3'
cout<
cin>
r=query(customerid);
if(r==NULL)
{cout<
该客户不存在"
<
endl;
break;
r->
delbook();
case'
4'
disp();
5'
disp();
6'
clear();
default:
cout<
正在返回主界面..."
break;
classBook//客房类,实现对客房的描述,如客房等级,有无宽带等
{private:
charname[20];
intonshelf;
Book(){}
char*getname(){returnname;
}//获取姓名
intgetno(){returnno;
}//获取客房编号
intgettag(){returntag;
}//获取删除标记
voidsetname(charna[])//设置客房描述
{strcpy(name,na);
voiddelbook(){tag=1;
}//删除客房
voidaddbook(intn,char*na)//增加客房
{tag=0;
onshelf=1;
intborrowbook()//预订操作
{if(onshelf==1)
{onshelf=0;
}
voidretbook()//退订操作
{onshelf=1;
voiddisp()//输出客房
setw(6)<
setw(18)<
name<
setw(10)
<
(onshelf==1?
空房"
已预订"
)<
classBDatabase//客房库类,实现对客房的管理,如查找、删除等
//客房记录指针
Bookbook[Maxb];
BDatabase()//构造函数,将book.txt读到book[]中
{Bookb;
top=-1;
fstreamfile("
book.txt"
while
(1)
{file.read((char*)&
b,sizeof(b));
if(!
file)break;
top++;
book[top]=b;
voidclear()//全删
intaddbook(intn,char*na)//增加客房
{Book*p=query(n);
if(NULL==p)
book[top].addbook(n,na);
Book*query(intbookid)//查找客房
{for(inti=0;
if(book[i].getno()==bookid&
book[i].gettag()==0)
book[i];
voidbookdata();
//客房库维护
voiddisp()
if(book[i].gettag()==0)
book[i].disp();
~BDatabase()//析构函数,将book[]写到book.txt文件中
if(book[i].gettag()==0)
book[i],sizeof(book[i]));
voidBDatabase:
bookdata()
{
charchoice;
charbname[40];
intbookid;
Book*b;
{
\n\n\n\t\t\t客房信息"
endl<
cout<
\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返回"
{case'
输入客房编号:
bookid;
cout<
输入客房描述:
bname;
addbook(bookid,bname);
b=query(bookid);
if(b==NULL)
该客房不存在"
输入新的客房描述:
b->
setname(bname);
b=query(bookid);
if(b==NULL)
{cout<
该客房不存在"
b->
{
}
voidmain()//main()函数的实现,程序的主界面的引导
{charchoice;
intbookid,customerid;
RDatabasecustomerDB;
BDatabaseBookDB;
while(choice!
{cout<
\t\t酒店客房预订管理\n\n\n"
cout<
\t\t\t1订房\n\n\t\t\t2退订\n\n\t\t\t3客房信息\n\n\t\t\t4客户信息\n\n\t