收藏 分销(赏)

C专业课程设计·大酒店客房标准管理系统.doc

上传人:a199****6536 文档编号:2864435 上传时间:2024-06-07 格式:DOC 页数:49 大小:310.54KB
下载 相关 举报
C专业课程设计·大酒店客房标准管理系统.doc_第1页
第1页 / 共49页
C专业课程设计·大酒店客房标准管理系统.doc_第2页
第2页 / 共49页
C专业课程设计·大酒店客房标准管理系统.doc_第3页
第3页 / 共49页
C专业课程设计·大酒店客房标准管理系统.doc_第4页
第4页 / 共49页
C专业课程设计·大酒店客房标准管理系统.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、 计算机学院课程设计汇报 课程名称: C+课程设计 课 题: 客房管理系统 专业班级: 学 号: 姓 名: 指导老师: 日 期: 7 月3 日 目录1.课题介绍03 2.设计方案043.具体设计及截屏图054.关键代码分析105.测试156.课题总结和体会177.参考文件188.源代码191.课题介绍客房管理系统是依据某酒店对客房管理实际情况进行编写,关键目标是为了方便酒店对客房实际情况进行集中查询和管理工作,以提升整个酒店工作。经过电脑及生活中调查研究,依据客人经济水平和生活理念,客房类型已趋向于多样化,有标准房,单人房,VIP间,甚至总统套房。而初步设定经过客房编号、类型、价格来定位一个客

2、房管理系统。客房是一个对外服务内容,为了客人住宿要求,所以系统需要实现客房信息录入、修改和删除功效。客人对剩下客房需要进行选择,系统必需实现对应查询、排序和输出功效,使客人择优而居。关键实现功效包含:客房信息录入、修改、删除、剩下客房信息查询、排序、输出。客房信息可写入文件,也可从文件中读取。客房信息包含数据有客房编号、客房类型、住房天数、订金、用户姓名、用户身份证号码等。2设计方案根据需求分析所得,客房信息系统有以下多个功效模块:1 新建两个类;分别为Customer和HolterRoom ,其中Customer为基类,HolterRoom经过共有继承,成为Customer派生类。2 录入,

3、增添客房信息;先判定是否已存在客房信息,假如已存在,则再选择是否添加;若不存在,则添加客房信息。3修改客房信息;读取保留客房信息数据,依据客房编号查找所需修改客房信息,然后依据具体所需,修改组员参数。4删除客房信息模块;从保留中文件中读取信息,删除需要删除信息,完善现在客房运作。5查询客房函数;分按编号、类型、用户姓名查找客房信息,这么能够更含有些人性化来选择所剩下客房,从而进行日常安排。7输出剩下客房函数;输出依据系统所需排序后客房信息,本系统中是依据了客人入住使用期即天数来立即了解空出房间。由上述需求分析可得,系统功效模块图图1所表示。 酒店客房管理系统录入客房信息客人入住登记修改客房信息

4、客人退房结算输出全部客房信息查询窗口删除客房信息经过房号查询客房输出全部空房经过姓名查询客房经过房号查询客房 图1 2.具体设计及截屏图1、类设计依据上述需求分析,有客房类和用户类。(1) 用户类 用户类中关键组员有:name为用户姓名,ID为用户身份证号码,money为用户订金,StayTime为将要入住客房时长。(2)客房类客房类中关键组员有:num是客房编号,Type是客房类型,Price是客房价格, HolterRoom()为客房类结构函数,同时Customer类中组员均是客房类组员。2界面设计:(1) 主界面设计主界面中显示客房管理系统全部信息,客房信息录入,客人入住登记,客房信息修

5、改,客人退房结算,查询全部客房信息,查询(包含按房间号,按房间类型,按用户姓名查询,同时还有输出全部空房信息),删除客房信息。酒店客房管理系统图1所表示。图2 主界面(2)分界面:客房信息查询设计分别实现按姓名,按房间号和按房间类型查询客房信息功效,还可实现输出全部空房信息功效。客房信息录入图2所表示。图3录入客房信息分界面(4)分界面:客房信息修改设计提醒依据编号寻求到客房并输出该客房内容,然后问询用户是否要修改客房信息,修改界面图所表示。图4 修改客房信息分界面(5)分界面:客房信息删除设计提醒依据编号寻求到客房并输出该客房内容,然后问询用户是否要删除客房信息,修改界面图所表示。图5 删除

6、客房信息分界面(6)分界面:剩下客房信息查询设计在保留完所修改或删除客房信息,查询剩下客房信息,可浏览全部空房信息。查询空房信息界面图6所表示。图6 查询客房信息分界面(7)分界面:全部信息输出设计在排序完后全部客房中,输出全部客房信息,以检验客房经营情况。全部客房信息输出界面图7所表示。图7 全部客房信息4.关键代码分析(1)系统登录在主函数中,输出客房信息系统各功效提醒。选择需要实施功效序号,由switch判定和选择所需要实施功效。选择1:实施客房信息录入;选择2:实施客人入住登记;选择3:实施教工客房信息修改;选择4:实施客人退房结算;选择5:实施查询全部客房信息;选择6:实施查询;选择

7、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+;Roomtop=b;file.close(); /读取文件夹Room.txt中数据while(1) coutnn 客房管理系统 nn;cout - nn;cout 1.客房信息录入 nn;cout 2.客人入住登记 nn;cout

8、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; /输入客房信息case 2:set_Customer_info(Room);break; /客人入住登记 case 3:Change_HolterRoom_info(Room); break; /修改客房信息case 4:SetCo

9、unt(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;在读取数据时,能够从以有文件中读取数据到程序中,避免了程序反复输入数据,既实现了程序数次可

10、连续地使用,又有利于后面信息修改、删除等功效。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+;Roomtop=b; file.close();/关闭文件(2)信息添加客房信息录入,创建HolterRoom类和Room对象数组 ,调用结构函数,输入客房房间编号、房间类型、定房日期、

11、房间价格、房间内容及个人入住使用期。 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+;cout房间号码:Roomi.num;coutendl;coutRoomi.Type;coutRoomi.Price;coutendlendl;cout客房信息录入成功!endlendl;else string P;coutP;if(P=Y)add_

12、HolterRoom_info(Room);else if(P=N)cout已取消房间添加.endlendl;else cout此操作非法!endlendl;system(pause);system(cls);;(3)信息删除删除客房信息,按要求提醒输入要删除客房房间编号,经过for循环和if语句寻求到要删除客房,并显示其信息,然后问询用户是否要删除客房信息,经过if语句进行判定,若输入“Y”则删除,并显示删除成功,若为“N”,则取消删除,输入其它均显示“非法操作!”。void Delete_HolterRoom(HolterRoom *Room)int Num;coutNum;for(int

13、 i=0;i30;i+)if(Roomi.num=Num )string B;cout房间已找到:endl;cout房间类型:;coutRoomi.Typeendl;cout房间价格:;coutRoomi.Priceendl;cout用户信息:endl;cout用户身份证号码:;coutRoomi.IDendl;cout用户姓名:;coutRoomi.nameendl;cout订金;coutRoomi.moneyendl;coutB;coutendl;if(B=Y)Roomi.Type=null;Roomi.num=0;Roomi.Price=0;Roomi.money=0;Roomi.Sta

14、yTime=0;Roomi.name=无;Roomi.ID=0;cout删除成功!endl;else if(B=N)cout取消删除。endl;else cout非法操作!endl;system(pause);system(cls);(4)信息修改修改客房信息,按要求提醒输入要修改客房房间编号,经过for循环和if语句寻求到要修改客房,并显示其信息,然后问询用户是否要修改客房信息,经过if语句进行判定,若输入“Y”则进行逐条修改,若为“N”,则取消修改,输入其它均显示“非法操作!”。void Change_HolterRoom_info(HolterRoom *Room)int Num;cou

15、t请输入要修改房间号码: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房间价格:;coutRoomi.Priceendl;cout用户姓名:;coutRoomi.name;coutendl;cout用户身份证号码:;coutRoomi.ID;coutendl;cout订金:;coutRoomi.money;cout将于Roomi.

16、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天后;Roomi.StayTime=_StayTime;coutendl; Save_Customer_info(Room); cout修改成功!endlendl;else if(p=N) cout已取消修改。;else cout操作非法!;t+;else if(t=0 &

17、 i=29 & Roomi.Type=null)cout查无此房!endlendl;system(pause);system(cls);5.测试程序测试是将编制程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误过程。原程序:void add_HolterRoom_info(HolterRoom *Room) /添加房间static int Number=700;string k;doint i=5; Roomi.num=Number+;cout房间号码:Roomi.num;coutendl;coutRoomi.Type;coutRoomi.Price;coutendle

18、ndl;cout添加成功!;coutk;i+;while(k=Y);if (k=N)else cout此操作非法!;编译成功后开始运行,信息录入后,第一次调用函数能够正确添加房间信息,但第二次调用后,会覆盖第一次统计,无法正确添加房间;经思索后,发觉加入个for循环,并对每一房间进行判定,确定为未赋值再进行房间添加便可。void add_HolterRoom_info(HolterRoom *Room)string P;do int Number=700;for(int i=0;i30;i+)if(Roomi.num=0) Roomi.num=Number+;cout房间号码:Roomi.nu

19、m;coutendl;coutRoomi.Type;coutendl;coutRoomi.Price;coutendlendl;coutP;break;else Number+;while(P=Y);if(P=N)cout已取消添加。endlendl;else cout此操作非法!endlendl;6.课题总结和体会 短学期课程设计是一次很珍贵机会,这是一次能够让我们所学理论和实际相结合机会。经过这次比较完整一个程序设计,我走出了纯理论学习,从一个全新角度去学习。 其实个人而言,我体会较深一点是团体相互帮助学习过程,自己看书学习经验,和从网上和其它多种路径取得信息和知识经验。理论和实际相结合设

20、计,锻炼了我综合利用所学基础知识,处理实际问题能力,同时也提升我查阅文件资料、对程序整体把握等其它能力水平。而且经过对整体掌控,对局部取舍,全部使我能力得到了锻炼,我各方面经验全部得到了极大丰富。 在面对多种陌生知识时候,队友耐心和任性,对于知识渴求,对于工作专注,极大程度上鼓舞了我。我们在交流中,迸发出了很多设计灵感,相互提议改进过程中,我们分别从各个方面共同改善着,这个已经不能仅仅称作课程设计作品。 从知识取得方面来说,多种已经学习到C+知识和多种从网上搜索来案例,我们全部是伴随设计不停深入而不停熟悉。和老师和同学沟通交流更使我对程序整体计划和设计有了新认识,也对自己提出了新要求。提升是有

21、限但提升也是全方面。正是这一次设计让我积累了很多实际经验。也肯定会让我在未来工作学习中表现出更高耐力、了解力、实践力。顺利准期完成此次课程设计给了我很大信心,不过也为我指出很多不足地方。学习其实就是一个不停完善过程,正视自己不足之处。在以后工作和学习中不停填补这些不足之处,在以后生活中也要保持一样态度,不停地完善自己。 7.参考文件【1】郑莉.C+教程.人民邮电出版社.【2】谭浩强.C语言程序设计.清华大学出版社.【3】沈纪新.Visual C+使用速成.清华大学出版社.8.源代码/客房管理系统关键实现功效包含:客房信息录入、修改、删除、剩下客房信息查询、排序、输出。客房信息可写入文件,也可从

22、文件中读取。/* 系统登录 信息添加 信息删除 信息修改 */#include#include#includeusing namespace std;const int Maxb=30;class Customerpublic:string name;string ID;int money;int StayTime;Customer();class HolterRoom:public Customerpublic:int num;string Price;string Type;HolterRoom()num=0;Price=0;Type=null;money=0;StayTime=0;nam

23、e=无;ID=0;HolterRoom();ofstream Str(客房信息.txt,ios_base:trunc);ofstream C(用户信息.txt,ios_base:trunc);void set_Customer_info(HolterRoom *Room);void set_HolterRoom_info(HolterRoom *Room);void find_HolterRoomByNum(HolterRoom *Room);void Display_HolterRoom_info(HolterRoom *Room);void add_HolterRoom_info(Holt

24、erRoom *Room);void find_HolterRoomByName(HolterRoom *Room);void find_HolterRoomByType(HolterRoom *Room);void PrintAll(HolterRoom *Room);void Change_HolterRoom_info(HolterRoom *Room);void SetCount(HolterRoom *Room);void Delete_HolterRoom(HolterRoom * Room);void Find_choose(HolterRoom * Room);void Sav

25、e_HolterRoom_info(HolterRoom * Room);void Save_Customer_info(HolterRoom * Room);void Write(HolterRoom *Room);void Read(HolterRoom *Room);void Save_HolterRoom_info(HolterRoom * Room)for(int i=0;i30;i+)if(Roomi.num!=0)Str房间号码:Roomi.numt房间类型:tRoomi.Typet房间价格:tRoomi.Priceendlendl;void Save_Customer_info

26、(HolterRoom * Room)for(int i=0;i30;i+)if(Roomi.num!=0 & Roomi.name!=无)C房间类型:;CRoomi.Typeendl;C房间价格:;CRoomi.Priceendl;C用户身份证号码:;CRoomi.IDendl;C用户姓名:;CRoomi.nameendl;C订金;CRoomi.moneyendl;C入住天数:;CRoomi.StayTime;C天endlendl;void Display_HolterRoom_info(HolterRoom *Room)int t=0;for(int i=0;i30;i+)if(Roomi

27、.StayTime=0 & Roomi.num!=0)cout房间号码:;coutRoomi.numt;cout房间类型:;coutRoomi.Typet;cout房间价格:;coutRoomi.Priceendl;t+;else if(t=0&i=29)cout暂无空房!;system(pause);system(cls);void Find_choose(HolterRoom *Room)int P=0;while(P=0) coutnn 客房管理系统 nn; cout - nn;cout 1.经过房号查询客房 nn;cout 2.经过类型查询客房 nn;cout 3.经过用户姓名查询客房

28、 nn;cout 4.查询全部空房 nn;cout 5.返回主菜单 nn;coutchoose;system(cls);switch (choose) /用户选择 case 1:find_HolterRoomByNum(Room); break; /输入客房信息case 2:find_HolterRoomByType(Room);break; /客人入住登记 case 3:find_HolterRoomByName(Room); break; /修改客房信息case 4:Display_HolterRoom_info(Room);break; /用户退房case 5:P=5;break; de

29、fault :; break;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用户姓名:;coutRoomi.nameendl;cout订金;coutRoomi.moneyendl;coutB;cou

30、tendl;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);void SetCount(HolterRoom *Room)int Num;int t=0;coutNum;for(int i=0;i30;i+)if(Num=Roomi.num & Roomi.StayTi

31、me!=0)string B;cout房间已找到:endl;cout房间类型:;coutRoomi.Typeendl;cout房间价格:;coutRoomi.Priceendl;cout用户信息!:endl;cout用户身份证号码:;coutRoomi.IDendl;cout用户姓名:;coutRoomi.nameendl;cout订金:;coutRoomi.moneyendl;cout入住天数:;coutRoomi.StayTime;cout天.;coutendl;coutB;if(B=Y)Roomi.StayTime=0;Roomi.money=0;Roomi.name=无;Roomi.ID=0;cout退房成功!endl;else if(B=N)cout取消退房。endl;else cout非法操作!endl;t+;else if(Num=Roomi.num & Roomi.StayTime=0)cout此房为空房!;t+;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服