《C++课程设计·酒店客房管理系统共23页word资料.doc
《《C++课程设计·酒店客房管理系统共23页word资料.doc》由会员分享,可在线阅读,更多相关《《C++课程设计·酒店客房管理系统共23页word资料.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C+课程设计酒店客房管理系统【精品文档】第 23 页 计算机学院课程设计报告 课程名称: C+课程设计 课 题: 客房管理系统 专业班级: 学 号: 姓 名: 指导老师: 日 期: 2013年7 月3 日 目录1.课题简介03 2.设计方案043.具体设计及截屏图054.关键代码分析105.测试156.课题总结与体会177.参考文献188.源代码191.课题简介客房管理系统是根据某酒店对客房管理的实际情况进行编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店的工作。经过电脑及生活中的调查研究,根据客人的经济水平和生活理
2、念,客房的类型已趋向于多样化,有标准房,单人房,VIP间,甚至总统套房。而初步设定通过客房的编号、类型、价格来定位一个客房的管理系统。客房是一个对外服务的内容,为了客人的住宿要求,所以系统需要实现客房信息的录入、修改和删除功能。客人对剩余客房需要进行选择,系统必须实现相应的查询、排序和输出功能,使客人择优而居。主要实现的功能包括:客房信息的录入、修改、删除、剩余客房信息查询、排序、输出。客房信息可写入文件,也可从文件中读取。客房信息涉及的数据有客房编号、客房类型、住房天数、订金、客户姓名、客户身份证号码等。2设计方案按照需求分析所得,客房信息系统有以下几个功能模块:1 新建两个类;分别为Cus
3、tomer和HolterRoom ,其中Customer为基类,HolterRoom通过共有继承,成为Customer的派生类。2 录入,增添客房信息;先判断是否已存在客房信息,如果已存在,则再选择是否添加;若不存在,则添加客房信息。3修改客房信息;读取保存的客房信息数据,根据客房编号查找所需修改的客房信息,然后根据具体所需,修改成员参数。4删除客房信息模块;从保存中的文件中读取信息,删除需要删除的信息,完善现在的客房运作。5查询客房函数;分按编号、类型、客户姓名查找客房信息,这样可以更具有人性化来选择所剩余的客房,从而进行日常安排。7输出剩余客房函数;输出根据系统所需排序后的客房信息,本系统
4、中是根据了客人入住的有效期即天数来及时了解空出的房间。由上述需求分析可得,系统的功能模块图如图1所示。 酒店客房管理系统录入客房信息客人入住登记修改客房信息客人退房结算输出所有客房信息查询窗口删除客房信息通过房号查询客房输出所有空房通过姓名查询客房通过房号查询客房 图1 2.具体设计及截屏图1、类的设计根据上述需求分析,有客房类和客户类。(1) 客户类 客户类中的主要成员有:name为客户姓名,ID为客户身份证号码,money为客户订金,StayTime为将要入住客房时长。(2)客房类客房类中的主要成员有:num是客房编号,Type是客房类型,Price是客房价格, HolterRoom()为
5、客房类的构造函数,同时Customer类中的成员均是客房类的成员。2界面设计:(1) 主界面的设计主界面中显示客房管理系统的全部信息,客房信息的录入,客人入住登记,客房信息的修改,客人退房结算,查询所有客房信息,查询(包括按房间号,按房间类型,按客户姓名查询,同时还有输出所有空房信息),删除客房信息。酒店客房管理系统如图1所示。图2 主界面(2)分界面:客房信息查询设计分别实现按姓名,按房间号和按房间类型查询客房信息的功能,还可实现输出所有空房信息的功能。客房信息录入如图2所示。图3录入客房信息的分界面(4)分界面:客房信息的修改的设计提示根据编号寻找到客房并输出该客房内容,然后询问用户是否要
6、修改客房信息,修改界面如图所示。图4 修改客房信息的分界面(5)分界面:客房信息的删除的设计提示根据编号寻找到客房并输出该客房内容,然后询问用户是否要删除客房信息,修改界面如图所示。图5 删除客房信息的分界面(6)分界面:剩余客房信息的查询的设计在保存完所修改或删除的客房信息,查询剩余的客房信息,可浏览所有空房信息。查询空房的信息界面如图6所示。图6 查询客房信息的分界面(7)分界面:所有信息的输出的设计在排序完后的所有客房中,输出所有客房的信息,以检验客房的经营情况。所有客房信息输出界面如图7所示。图7 所有客房的信息4.关键代码分析(1)系统的登录在主函数中,输出客房信息系统的各功能提示。
7、选择需要执行功能的序号,由switch判断和选择所需要执行的功能。选择1:执行客房信息的录入;选择2:执行客人入住登记;选择3:执行教工客房信息的修改;选择4:执行客人退房结算;选择5:执行查询所有客房信息;选择6:执行查询;选择7:执行删除客房信息;选择8:退出系统;主函数:int main()HolterRoom Room200; /创建客房对象数组 int top;HolterRoom b;top=-1;fstream file(Room.txt,ios:in);while (1)file.read(char *)&b,sizeof(b);if (!file) break;top+;Ro
8、omtop=b;file.close(); /读取文件夹Room.txt中的数据while(1)coutnn 客房管理系统 nn;cout - nn;cout 1.客房信息的录入 nn;cout 2.客人入住登记 nn;cout 3.客房信息的修改 nn;cout 4.客人退房结算 nn;cout 5.查询所有客房信息 nn;cout 6.查询系统 nn;cout 7.删除客房信息 nn;cout 8.退 出 系 统 nn;coutchoose;system(cls);switch (choose) /用户的选择 case 1:set_HolterRoom_info(Room); break;
9、 /输入客房信息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_inf
10、o(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,size
11、of(b);if (!file) break;top+;Roomtop=b;file.close();/关闭文件(2)信息的添加客房信息的录入,创建HolterRoom类和Room对象数组 ,调用构造函数,输入客房的房间编号、房间类型、定房日期、房间价格、房间内容及个人的入住有效期。 void set_HolterRoom_info(HolterRoom *Room)if(Room0.num=0)int size;cout暂无房间信息,请添加!endl;static int Number=700;coutsize;for(int i=0;isize;i+)Roomi.num=Number+;c
12、out房间号码:Roomi.num;coutendl;coutRoomi.Type;coutRoomi.Price;coutendlendl;cout客房信息录入成功!endlendl;else string P;coutP;if(P=Y)add_HolterRoom_info(Room);else if(P=N)cout已取消房间添加.endlendl;else cout此操作非法!endlendl;system(pause);system(cls);(3)信息的删除删除客房信息,按要求提示输入要删除客房的房间编号,通过for循环和if语句寻找到要删除的客房,并显示其信息,然后询问用户是否要
13、删除客房信息,通过if语句进行判断,若输入“Y”则删除,并显示删除成功,若为“N”,则取消删除,输入其他均显示“非法操作!”。void Delete_HolterRoom(HolterRoom *Room)int Num;coutNum;for(int i=0;i30;i+)if(Roomi.num=Num )string B;cout房间已找到:endl;cout房间类型:;coutRoomi.Typeendl;cout房间价格:;coutRoomi.Priceendl;cout客户信息:endl;cout客户身份证号码:;coutRoomi.IDendl;cout客户姓名:;coutRoo
14、mi.nameendl;cout订金;coutRoomi.moneyendl;coutB;coutendl;if(B=Y)Roomi.Type=null;Roomi.num=0;Roomi.Price=0;Roomi.money=0;Roomi.StayTime=0;Roomi.name=无;Roomi.ID=0;cout删除成功!endl;else if(B=N)cout取消删除。endl;else cout非法的操作!endl;system(pause);system(cls);(4)信息的修改修改客房信息,按要求提示输入要修改客房的房间编号,通过for循环和if语句寻找到要修改的客房,并
15、显示其信息,然后询问用户是否要修改客房信息,通过if语句进行判断,若输入“Y”则进行逐条修改,若为“N”,则取消修改,输入其他均显示“非法操作!”。void Change_HolterRoom_info(HolterRoom *Room)int Num;cout请输入要修改的房间号码:Num;string _name;string _ID;int _money;int _StayTime;string _Price;string _Type;int t=0;for(int i=0;i30;i+)if(Num=Roomi.num)cout房间类型:;coutRoomi.Typeendl;cout
16、房间价格:;coutRoomi.Priceendl;cout客户姓名:;coutRoomi.name;coutendl;cout客户身份证号码:;coutRoomi.ID;coutendl;cout订金:;coutRoomi.money;cout将于Roomi.StayTime天后退房。endl;cout房间信息已找到!endl;coutp;if(p=Y) cout_name;Roomi.name=_name;coutendl;cout_ID;Roomi.ID=_ID;coutendl;cout_money;Roomi.money=_money;cout_StayTime;cout天后;Roo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 酒店客房 管理 系统 23 word 资料
限制150内