酒店管理系统.doc_第1页
酒店管理系统.doc_第2页
酒店管理系统.doc_第3页
酒店管理系统.doc_第4页
酒店管理系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

酒店管理系统程序设计基础课程设计报告专 业: 计算机科学与技术 班 级: 08计科1班 姓 名: 顾力雄 指导教师: 秦怀斌 2009 年 8 月 27 日目 录1、课程设计目的22、课程设计题目描述和要求22.1 课程题目22.2课程要求23、课程设计结构图24、C+课程设计总结25、参考书目3 附录:源代码31、课程设计目的: 通过C+语言编程实现酒店管理系统的基本功能。酒店管理系统的实现核心是要录入客人信息并在退房时结算,同时具有月底结算功能。此程序重在满足其要求,使用者可以方便的使用。也可以根据自己的需求对程序进行优化。2、课程设计题目描述和要求 2.1课程题目: 酒店管理系统 2.2 课程要求: 屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,如不同级别房间价格的查询 修改 刷除等 。不同标准的房间实施不同的收费标准,月底进行结算,实收多少。3、课程设计结构图酒店管理系统 房间信息的录入客人的入住登记客人的退房结算客房信息的查询客房信息的删除和修改客房信息的删除和修改退出系统4. 课程设计总结经过这次课程设计的编写我有增加了一些新知识,知道自己在编程方面还欠缺甚多,在自己完成了编程之后觉得收益良多,原来书本上的东西并不少,我们学习不要贪多,一定要把书本上的知识掌握好!在这次课程设计的编写中我了解了一些输入输出流,知道了如何把程序保存到磁盘中,这些知识都是以前没有深究和不多用的。比如:常用的输入输出流除iostream(通用输入输出流和其他输入输出流的基类)外还有fstream(输入输出文件流)和strstream(输入书出字符串流类)。书本上好多知识都是我们没留意而在程序中要用到的。选课题的时候心高气傲觉得自己能编出来,而正要着手编的时候才知道题目并不简单。看到这个课题的时候觉得题目要求并不高,而且函数名及功能都给出来了,只需把它填满就行。处于心理作用而且老师也说了课程设计是要把整本书的知识都融合在一起的,于是我开始想如何用类、如何把程序写得简单明了,但是想了好久也想不出来,于是自己搜了一些有关这一课题的程序,想从中获得一些灵感,找到一些好的方法。事与愿违,网上的程序好多,大都用到了数据库,看不懂,我选了一个C程序来看,发现里面好多头文件都不认识,而它用的是struct和class相结和,多文件的编程,包括的知识广泛,感觉很复杂。我后面就模范他的结构,用简单的语句编出框架,然后在一步步深入细化,最后用fstream类输入输出文本,然而简单的程序也有出错的时候,经过反复的修改、调试终于写出了这个程序!5、参考书目:谭浩强,C+程序设计,北京,清华大学出版社,2006年.1 詹红霞、侯思颖、陶永红,Visual C+ 程序设计教程,北京,清华大学出版社,2007年附录:#include #include using namespace std;int n;char b5=kong;struct date /时间结构体int year; int month; int day;in,out;struct hotell /客房结构体int num; /房号 char leixing5 ; /房间类型 int price; /房间价格 char noman5; /房间是否空闲 char name20; /客户姓名 date in; /用结构体定义的入住时间date out; /用结构体定义的退房时间 int pay; /预付金额 int shenfen; /身份证号 int shu; /客房数目int input; /客房收入 room100;void luru() /客房信息录入函数 int i,j;ofstream kefang(kefang.txt,ios:binary); /打开二进制文件if ( ! kefang)cerr文件没有打开!endl;abort();cout 您选择了客房信息录入功能n;cout 现在进行客房信息的录入n;cout 总客房数为100间,请输入您要录入的客房数。nn;cout 请输入房间数endl;coutn;if(n100|n=0)cout 您的输入有误,请重试nn;luru();for(i=0;in;i+)cout 客房号endl; coutroomi.num; cout 客房类型(1、 2、 3、)n 请在1-3中进行选择endl; coutroomi.leixing; cout 客房价格endl; coutroomi.price;for(j=0;j5;j+) roomi.nomanj=bj; /此时客房为kong roomi.shu=n; /录入的客房数目coutendl;cout 本客房信息录入结束nn; kefang.write(char*)&roomi,sizeof(roomi);kefang.close();void dengji() /客人入住登记函数 char a5=man;int k,j,i;fstream kefang(kefang.txt,ios:in|ios:out|ios:binary); if(!kefang)cerr文件打开失败!endl;abort();cout 请输入客人人数endl;coutk; for (int x=0;xk;x+)cout 请输入客人的房号endl; couti;roomi-1.num=i; kefang.seekg(i-1*sizeof(ai-1);kefang.read(char*)&roomi-1,sizeof(roomi-1);cout 请输入客人的姓名endl; ; cout 请输入客人的身份证号endl; coutroomi-1.shenfen; cout 请输入客人入住时间,年/月/日endl; coutroomi-1.in.year; coutroomi-1.in.month; coutroomi-1.in.day; cout 请输入客人的预付金额(单位:元)endl; coutroomi-1.pay;for(j=0;j5;j+) roomi-1.nomanj=aj; /此时客房为man kefang.write(char*)&roomi-1,sizeof(roomi-1);kefang.close();cout 客人入住登记结束,按回车键返回主菜单!endl;void tuifang() /客人退房结算int a,i,j,pay1,pay2;fstream kefang(kefang.txt,ios:in|ios:out|ios:binary); if(!kefang)cerr文件打开失败!endl;abort(); cout 请输入客人住的房间号endl; for(i=0;in;i+) couta;if(a=roomi.num) kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);cout 客人的房间号roomi.num; cout 客人的入住时间为:roomi.in.year年roomi.in.month月roomi.in.day;coutendl; cout 请输入客人的退房时间 年/月/日endl;coutroomi.out.year; coutroomi.out.month; coutroomi.out.day; cout 客人的退房时间为roomi.out.year年roomi.out.month月roomi.out.day日=0)cout 总的住宿费用为(roomi.out.year-roomi.in.year)*365+(roomi.out.month-roomi.in.month)*30+(roomi.out.day-roomi.in.day)*roomi.price元,n;cout 入住时预付费用为:roomi.payendl;cout 剩余费用为:pay1endl;if(pay10)cout 还须付:pay2元; for(j=0;j5;j+)roomi.nomanj=bj; /初始化客房为空j=0; /初始化客人名字为空roomi.input=roomi.input+(roomi.out.year-roomi.in.year)*365+(roomi.out.month-roomi.in.month)*30+(roomi.out.day-roomi.in.day)*roomi.price; kefang.write(char*)&roomi,sizeof(roomi); else if(a!=roomi.num) cout 输入房号不存在!请确认后重试。nnendl;break;kefang.close();cout 按回车键返回主菜单返回主菜单!endl;void find() /客房信息的查询int i=0;int k=0;char name20;ifstream kefang(kefang.txt,ios:binary); if(!kefang)cerr文件打开失败!endl;abort(); cout 您选择要查询方式:nn;cout 1.按空房间查询 2.按姓名查询房间n 3.按房号查询 4.所有客房信息nn;int chaxun;coutchaxun;switch(chaxun)case 1:cout 空房间查询,; /按空房间查询 cout 查询结果如下endl;for(i=0;iroom0.shu;i+)kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);if(strcmp(roomi.noman,b)=0)cout 空客房号 roomi.num 客房类型 roomi.leixing;cout 客房价格 roomi.priceendl;k+=1;cout 现有空房为k间endlendl 查询结束endl;kefang.close();cout 按回车键返回主菜单;break;case 2:cout 请输入您所查询的姓名:endl; /按姓名查询 coutname;for(i=0;iroom0.shu;i+)kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);if(strcmp(name,)=0)cout 此客人入住的房间号 roomi.numendl;kefang.close();cout 按回车键返回主菜单!;break;case 3:coutendl 请输入房间号:endl; /按客房号查询int c; coutc;for(i=0;iroom0.shu;i+)kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);if(roomi.num=c)cout 房间号 roomi.num 入住客人姓名 endl;kefang.close();cout 按回车键返回主菜单!;break;case 4:cout 所有房间信息如下endlendl; /列出所有客房信息for(int i=0;iroomi.shu;i+)kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);cout 客房号roomi.num ; cout 客房类型 roomi.leixing ; cout 客房价格 roomi.price ; cout 空闲情况 roomi.noman n ; if(roomi.noman=man)cout 客人姓名 ; cout 客人身份证号roomi.shenfen ; cout 入住时间roomi.in.year年roomi.in.month月roomi.in.day ;coutendl; cout 预付费用roomi.pay endl;else if(roomi.noman=kong)cout 此房空endl 浏览功能结束,请您选择其他功能endl;kefang.close();coutn 查询结束n 按回车键返回主菜单!endl;break;void xiugai() /客房信息的删除与修改fstream kefang(kefang.txt,ios:in|ios:out|ios:binary); if(!kefang)cerr文件打开失败!endl;abort();hotell *p=room;char h20= ;int c,d,e,j;cout 请输入要修改或删除的客房号.endl; coutc;for(int i=0;iroom0.shu;i+)kefang.seekg(i*sizeof(roomi);kefang.read(char*)&roomi,sizeof(roomi);if(roomi.num=c)cout 请您选择要修改或删除的该客房的信息。endlendl; cout 1.客房价格修改endl; cout 2.客房信息的删除endl; coutd;switch(d)case 1:cout 客房价格修改endl; /客房价格的修改 coute;(p+c-1)-price=e;kefang.write(char*)&roomc-1,sizeof(roomc-1);kefang.close();cout 修改成功!n 按回车键返回主菜单!endl; break;case 2:cout 客房信息的删除; /客房信息的删除hotell *p=room; coutendl;cout 1.删除类型 2.删除价格 endl;int g;coutg;switch(g)case 1:for(j=0;jleixingj=hj;kefang.write(char*)&roomc-1,sizeof(roomc-1); kefang.close();coutprice=NULL;kefang.write(char*)&roomc-1,sizeof(roomc-1);kefang.close();cout 该房价格已删除n 按回车键返回主菜单; break;void jiesuan() /本月结算 int k=0;ifstream kefang(kefang.txt,ios:binary); if(!kefang)cerr文件打开失败!endl;abort();for(int j=0;jn;j+)kefang.read(char*)&roomj,sizeof(roomj);kefang.close();for(int i=0;i100;i+)k=k+roomi.input;cout 本月收入为:kn 按回车键返回主菜单endl;int main () /宾馆客房系统主界面函数coutendlendlendl;cout n;cout $* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *$n;cout $* *$n;cout $* 欢迎使用客房管理系统 *$n;co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论