C课程设计酒店客房管理系统方案

来源:网络收集 时间:2025-04-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机学院课程设计报告

课程名称: C++课程设计

课题:客房管理系统

专业班级:

学号:

姓名:

指导老师:

日期: 2013年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

2.具体设计及截屏图

1、类的设计

根据上述需求分析,有客房类和客户类。

(1)客户类

客户类中的主要成员有:name为客户,ID为客户,money为客户订金,StayTime 为将要入住客房时长。

(2)客房类

客房类中的主要成员有:num是客房编号,Type是客房类型,Price是客房价格, HolterRoom()为客房类的构造函数,同时Customer类中的成员均是客房类的成员。

2.界面设计:

(1) 主界面的设计

主界面中显示客房管理系统的全部信息,客房信息的录入,客人入住登记,客房信息的修改,客人退房结算,查询所有客房信息,查询(包括按房间号,按房间类型,按客户查询,同时还有输出所有空房信息),删除客房信息。

酒店客房管理系统如图1所示。

图2 主界面

(2)分界面:客房信息查询设计

分别实现按,按房间号和按房间类型查询客房信息的功能,还可实现输出所有空房信息的功能。客房信息录入如图2所示。

图3录入客房信息的分界面

(4)分界面:客房信息的修改的设计

提示根据编号寻找到客房并输出该客房容,然后询问用户是否要修改客房信息,修改界面如图所示。

图4 修改客房信息的分界面

(5)分界面:客房信息的删除的设计

提示根据编号寻找到客房并输出该客房容,然后询问用户是否要删除客房信息

,修改界面如图所示。

图5 删除客房信息的分界面

(6)分界面:剩余客房信息的查询的设计

在保存完所修改或删除的客房信息,查询剩余的客房信息,可浏览所有空房信息。查询空房的信息界面如图6所示。

图6 查询客房信息的分界面

(7)分界面:所有信息的输出的设计

在排序完后的所有客房中,输出所有客房的信息,以检验客房的经营情况。

所有客房信息输出界面如图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; //客人入住登记

case 3:Change_HolterRoom_info(Room); break; //修改

客房信息

case 4:SetCount(Room);break; //客户退房

case 5:PrintAll(Room); break; //查询所有客房信息 case 6:Find_choose(Room); break; //查询

case 7:Delete_HolterRoom(Room);break; //删除客房信息

case 8:Write(Room);

Save_HolterRoom_info(Room);

Save_Customer_info(Room);

exit(0); //退出 default : break;

}

}

return 0;

}

在读取数据时,可以从以有的文件中读取数据到程序中,避免了程序的重复输入数据,既实现了程序的多次可持续地使用,又有利于后面的信息修改、删除等功能。

void Read(HolterRoom *Room) //读取数据库

int top;

HolterRoom b;

top=-1;

fstream file("Room.txt",ios::in); //创建一个输入文件流对象,读取文件夹Room.txt中的数据。

while (1)

{

file.read((char *)&b,sizeof(b));

if (!file) break;

top++;

Room[top]=b;

};

file.close();//关闭文件

(2)信息的添加

客房信息的录入,创建HolterRoom类和Room对象数组,调用构造函数,

输入客房的房间编号、房间类型、定房日期、房间价格、房间容及个人的入住有效期。

void set_HolterRoom_info(HolterRoom *Room)

if(Room[0].num==0)

{

int size;

cout<<"暂无房间信息,请添加!"<

static int Number=700;

cout<<"请输入要添加的房间数:";

cin>>size;

for(int i=0;i

{

Room[i].num=Number++;

cout<<"房间:"<

cout<<"房间类型:";

cin>>Room[i].Type;

cout<<"房间价格:";

cin>>Room[i].Price;

cout<

};

cout<<"客房信息录入成功!"<

}

else

{

string P;

cout<<"客房信息已有,是否要添加房间?(Y/N)";

cin>>P;

if(P=="Y")

add_HolterRoom_info(Room);

else if(P=="N")

cout<<"已取消房间添加."<

else cout<<"此操作非法!"<

};

system("pause");

system("cls");

};

(3)信息的删除

删除客房信息,按要求提示输入要删除客房的房间编号,通过for循环和if语句寻找到要删除的客房,并显示其信息,然后询问用户是否要删除客房信息,通过if语句进行判断,若输入“Y”则删除,并显示删除成功,若为“N”

,则取消删除,输入其他均显示“非法操作!”。

void Delete_HolterRoom(HolterRoom *Room)

{

int Num;

cout<<"请输入要删除的房间号:";

cin>>Num;

for(int i=0;i<30;i++)

if(Room[i].num==Num )

{

string B;

cout<<"房间已找到:"<

cout<<"房间类型:";

cout<

cout<<"房间价格:";

cout<

cout<<"客户信息:"<

cout<<"客户:";

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典知识文库C课程设计酒店客房管理系统方案在线全文阅读。

C课程设计酒店客房管理系统方案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/fanwen/1369175.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219