《C课程设计·酒店客房管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C课程设计·酒店客房管理系统
课程名称: C++课程设计
课题:客房治理系统
专业班级:
学号:
姓名:
指导老师:
日期: 2020年7 月3 日
名目
1.课题简介 (03)
2.设计方案 (04)
3.具体设计及截屏图 (05)
4.关键代码分析 (10)
5.测试 (15)
6.课题总结与体会 (17)
7.参考文献 (18)
8.源代码 (19)
1.课题简介
客房治理系统是依照某酒店对客房治理的实际情形进行编写的,要紧目的是
为了方便酒店对客房的实际情形进行集中的查询与治理工作,以提高整个酒店的
工作。
通过电脑及生活中的调查研究,依照客人的经济水平和生活理念,客房的类型已趋向于多样化,有标准房,单人房,VIP间,甚至总统套房。而初步设定通过客房的编号、类型、价格来定位一个客房的治理系统。
客房是一个对外服务的内容,为了客人的住宿要求,因此系统需要实现客房信息的录入、修改和删除功能。
客人对剩余客房需要进行选择,系统必须实现相应的查询、排序和输出功能,使客人择优而居。
要紧实现的功能包括:客房信息的录入、修改、删除、剩余客房信息查询、排序、输出。客房信息可写入文件,也可从文件中读取。客房信息涉及的数据有
客房编号、客房类型、住房天数、订金、客户姓名、客户身份证号码等。
2.设计方案
按照需求分析所得,客房信息系统有以下几个功能模块:
1.新建两个类;
分别为Customer和HolterRoom ,其中Customer为基类,HolterRoom通过共有继承,成为Customer的派生类。
2.录入,增加客房信息;
先判定是否已存在客房信息,假如已存在,则再选择是否添加;若不存在,则添加客房信息。
3.修改客房信息;
读取储存的客房信息数据,依照客房编号查找所需修改的客房信息,然后依照具体所需,修改成员参数。
4.删除客房信息模块;
从储存中的文件中读取信息,删除需要删除的信息,完善现在的客房运作。5.查询客房函数;
分按编号、类型、客户姓名查找客房信息,如此能够更具有人性化来选择所剩余的客房,从而进行日常安排。
7.输出剩余客房函数;
输出依照系统所需排序后的客房信息,本系统中是依照了客人入住的有效期即天数来及时了解空出的房间。
由上述需求分析可得,系统的功能模块图如图1所示。
图1
2.具体设计及截屏图
1、类的设计
依照上述需求分析,有客房类和客户类。
(1)客户类
客户类中的要紧成员有:name为客户姓名,ID为客户身份证号码,money为客户订金,StayTime为将要入住客房时长。
(2)客房类
客房类中的要紧成员有:num是客房编号,Type是客房类型,Price是客房价格,HolterRoom()为客房类的构造函数,同时Customer类中的成员均是客房类的成员。
2.界面设计:
(1) 主界面的设计
主界面中显示客房治理系统的全部信息,客房信息的录入,客人入住登记,客房信息的修改,客人退房结算,查询所有客房信息,查询(包括按房间号,按房间类型,按客户姓名查询,同时还有输出所有空房信息),删除客房信息。
酒店客房治理系统如图1所示。
图2 主界面
(2)分界面:客房信息查询设计
分别实现按姓名,按房间号和按房间类型查询客房信息的功能,还可实现输出所有空房信息的功能。客房信息录入如图2所示。
图3录入客房信息的分界面
(4)分界面:客房信息的修改的设计
提示依照编号查找到客房并输出该客房内容,然后询问用户是否要修改客房信息,修改界面如图所示。
图4 修改客房信息的分界面
提示依照编号查找到客房并输出该客房内容,然后询问用户是否要删除客房信息
,修改界面如图所示。
图5 删除客房信息的分界面
(6)分界面:剩余客房信息的查询的设计
在储存完所修改或删除的客房信息,查询剩余的客房信息,可扫瞄所有空房信息。查询空房的信息界面如图6所示。
图6 查询客房信息的分界面
在排序完后的所有客房中,输出所有客房的信息,以检验客房的经营情形。所有客房信息输出界面如图7所示。
图7 所有客房的信息
4.关键代码分析
(1)系统的登录
在主函数中,输出客房信息系统的各功能提示。选择需要执行功能的序号,由switch判定和选择所需要执行的功能。
选择1:执行客房信息的录入;
选择2:执行客人入住登记;
选择3:执行教工客房信息的修改;
选择4:执行客人退房结算;
选择5:执行查询所有客房信息;
选择6:执行查询;
选择7:执行删除客房信息;
选择8:退出系统;
主函数:
int main()
{
HolterRoom Room[200]; //创建客房对象数组
int top;
HolterRoom b;
top=-1;
fstream file("Room.txt",ios::in);
while (1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
top++;
Room[top]=b;
}
file.close(); //读取文件夹Room.txt中的数据
while(1)
{
cout<<"\n\n 客房治理系统 \n\n";
cout<<" ---------------------------------- \n\n";
cout<<" 1.客房信息的录入 \n\n";
cout<<" 2.客人入住登记 \n\n";
cout<<" 3.客房信息的修改 \n\n";
cout<<" 4.客人退房结算 \n\n";
cout<<" 5.查询所有客房信息 \n\n";
cout<<" 6.查询系统 \n\n";
cout<<" 7.删除客房信息 \n\n";
cout<<" 8.退出系统 \n\n";
cout<<" 请选择:";
int choose=0;
cin>>choose;
system("cls");
switch (choose) //用户的选择
{
case 1:set_HolterRoom_info(Room); break; //输入客房信息
case 2:set_Customer_info(Room);break; //