C++课程设计报告-宾馆住宿管理系统软件_第1页
C++课程设计报告-宾馆住宿管理系统软件_第2页
C++课程设计报告-宾馆住宿管理系统软件_第3页
C++课程设计报告-宾馆住宿管理系统软件_第4页
C++课程设计报告-宾馆住宿管理系统软件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计题目:宾馆住宿管理系统软件设计要求 :1) 对宾馆基本信息(房间数量、房间类别(标间、单间、套房)、收费标准等)在适当范围内自行规定。 2) 能够实现预定登记、入住登记、退房结算等功能;房间状态(空房、入住、预定) 能够以一定方式直观地表现。 3) 能够录入住宿人员信息、计算客户消费总额并生成账单,账单信息存入到磁盘文 件当中去。 4) 能够相对灵活地查询房间状态、入住情况、空房情况、预订情况等内容。 5) 能够产生各类报表,如房间信息、入住信息、消费表单等在磁盘文件当中可以查 看它们的信息。一、主要功能分析:二、数据说明:结构类型:日期struct date结构类型:用户信息stru

2、ct customer结构类型:房间信息struct house整型:菜单选项int op;整型数组:房价int p3;整型:房间总数int n;整型:房间号Int roomno;结构类型数组:预先设定100个空房间house h100;三、函数的测试和说明:顶级管理员菜单模块的函数:void menu_admin()/顶级菜单void option1(int op)/一级菜单选项模块测试:其中在第一次进入的时候自动进入初始化,初始化的函数:int menu_ini(house h)/二级菜单(初始化)模块测试:房价可以根据实时情况修改,房间修改的函数:void menu_price(int

3、p)/二级菜单(设定价格)模块测试:产生当前状态的报表函数void list(house h,int n)/产生报表模块测试:在c盘打开的TXT文件:管理系统的函数:void menu_main()/二级菜单(管理系统,主要菜单)int option2(int op)/二级菜单选项模块测试:客房查询的函数:void show(house h,int n)/三级菜单(显示房间状态)void show2(house h,int text)/便捷查询模块测试:订房登记的函数:int menu_rsroom(int roomno,house h,int n)/三级菜单(预定登记)模块测试:入住登记的函

4、数:int menu_inroom(int roomno,house h,int n)/三级菜单(入住登记)模块测试:退房登记的函数:int menu_outroom(int roomno,house h,int n)/三级菜单(退房结算)模块测试:其中,退房后会自动记入账单中:4、 总结在此次课程设计中,我并没有用到类来解决问题,只是用了结构类型来储存数据,因为我觉得用结构类型已经完全可以用来解决这个题目,用类却有点多余了。在这个系统中还遇到了一些已知问题:1、 在需要输入数字时输入汉字的话会卡住,不能继续运行下去;2、在设定房间时没有考虑房间号重复提醒的功能;3、退房结算没有使用到让其自动

5、算出住房天数而是手动输入。由于时间和精力有限,不能将此系统更加完善。但是对于第2和第3个问题,我有初步的想法。第2个问题可以用循环来判断房间号是否有重复的;第3个问题需要用到日历的函数来解决(又是一个小工程)。在此次的课程设计中,我对C+有了更深的了解和加强了运用能力,对于题目的解决方案更是有自己的想法,而且让自己的动手能力变得更强。5、 参考文献沈显君、杨进才、张勇.C+语言程序设计教程(第二版).清华大学出版社6、 附录,程序代码#include <iostream>#include <fstream>using namespace std;struct datei

6、nt year;int month;int day;struct customerchar name20;char IDcard20;char phno20;/联系方式int deposit;/押金struct date target;/预定日期struct date in;/入住日期struct date out;/退房日期int tday;/住房时间;struct houseint no;int sort;/类别:1、标间,2、单间,3、套间int price;/利用sort来判断单价多少int status;/状态:1、空房,2、入住,3、预定struct customer pep;/入

7、住顾客的信息;int p3;int n,roomno;house h100;void menu_admin()/顶级菜单system("cls");cout<<"tttt管理员菜单"<<endl;cout<<"请输入您所需要的功能: "<<endl;cout<<"1.初 始 化"<<endl;cout<<"2.房价设定和修改"<<endl;cout<<"3.管 理 系 统&quo

8、t;<<endl;cout<<"4.生 成 报 表"<<endl;void menu_price(int p)/二级菜单(设定价格)cout<<"请分别输入 标间,单间,套房 的价格"<<endl;cin>>p0>>p1>>p2;for(int i=0;i<n;i+)if(hi.sort=1) hi.price=p0;if(hi.sort=2) hi.price=p1;if(hi.sort=3) hi.price=p2;int menu_ini(hous

9、e h)/二级菜单(初始化)system("cls");fstream file3;file3.open("c:customerlist.txt",ios:out|ios:trunc);file3<<"房间号t"<<"姓名t"<<"身份证ttt"<<"联系方式t"<<"预定日期t"<<"入住日期t"<<"退房日期t"<<&

10、quot;住房天数t"<<"消费金额t"<<endl;file3.close();cout<<"开始初始化."<<endl;int pr;cout<<"请输入房间总数(100以内):"<<endl;cin>>pr;if (pr>=101) cout<<"房间数过大!"<<endl;system("pause");return menu_ini(h);cout<<

11、"请分别输入 标间,单间,套房 的价格"<<endl;cin>>p0>>p1>>p2;int text=0;cout<<"请输入按照顺序输入"<<endl<<"房间号,类别编号(1、标间,2、单间,3、套间)"<<endl;for(int i=0;i<pr;i+)text=0;cin>>hi.no>>hi.sort;hi.status=1;if(hi.sort=1) text+;hi.price=p0;if(h

12、i.sort=2) text+;hi.price=p1;if(hi.sort=3) text+;hi.price=p2;if(text!=1) cout<<"输入错误,请重新输入:"<<endl;i-;return pr;void menu_main()/二级菜单(管理系统,主要菜单)system("cls");cout<<"tttt欢迎使用宾馆管理系统"<<endl;cout<<"请输入您所需要的功能: "<<endl;cout<<

13、;"1.客房查询"<<endl;cout<<"2.订房登记"<<endl;cout<<"3.入住登记"<<endl;cout<<"4.退 房"<<endl;cout<<"5.管理菜单"<<endl;void list(house h,int n)/产生报表fstream file1;file1.open("c:roomlist.txt",ios:out|ios:trun

14、c);file1<<"房间号t"<<"类别t"<<"状态"<<endl;fstream file2;file2.open("c:statuslist.txt",ios:out|ios:trunc);file2<<"房间号t"<<"状态t"<<"姓名t"<<"身份证ttt"<<"联系方式t"<<&qu

15、ot;预定日期t"<<"入住日期t"<<"预住天数t"<<"押金t"<<endl;for(int i=0;i<n;i+)file1<<hi.no<<"t"<<hi.sort<<"t"if(hi.status=1) file1<<"空房t"<<endl;if(hi.status=2) file1<<"入住t"&l

16、t;<endl;if(hi.status=3) file1<<"预定t"<<endl;if(hi.status!=1)file2<<hi.no<<"t"if(hi.status=2) file2<<"入住t"if(hi.status=3) file2<<"预定t"file2<<<<"t"<<hi.pep.IDcard<<"t"&l

17、t;<hi.pep.phno<<"t"<<hi.pep.target.year<<"年"<<hi.pep.target.month<<"月"<<hi.pep.target.day<<"日"<<"t"<<hi.pep.in.year<<"年"<<hi.pep.in.month<<"月"<<hi.pe

18、p.in.day<<"日"<<"t"<<hi.pep.tday<<"tt"<<hi.pep.deposit<<endl;file1.close();file2.close();void show2(house h,int text)/便捷查询int text2;switch(text)case 1:cout<<"空房情况:"<<endl;for(int i=0;i<n;i+) if(hi.status=1) cou

19、t<<hi.no<<endl;system("pause");break;case 2:cout<<"入住情况:"<<endl;for(int i=0;i<n;i+) if(hi.status=2) cout<<hi.no<<endl;system("pause");break;case 3:cout<<"预定情况:"<<endl;for(int i=0;i<n;i+) if(hi.status=3) cou

20、t<<hi.no<<endl;system("pause");break;case 4:cout<<"请输入房号:"cin>>text2;for(int i=0;i<=n;i+) if (hi.no=text2)cout<<"类别:"if(hi.sort=1) cout<<"标间t"if(hi.sort=2) cout<<"单间t"if(hi.sort=3) cout<<"套间t&qu

21、ot;cout<<"价格:"<<hi.price<<"元"cout<<"t状态:"if(hi.status=1) cout<<"空房"if(hi.status=2) cout<<"入住"if(hi.status=3) cout<<"预定"cout<<endl;break;if (i=n) cout<<"无此房间!"<<endl;syste

22、m("pause");break;case 5:break;default:cout<<"选项无效"<<endl;system("pause");void show(house h,int n)/三级菜单(显示房间状态)cout<<"房间号t类别t价格(元)t状态"<<endl;for(int i=0;i<n;i+) cout<<hi.no;if(hi.sort=1) cout<<"t标间t"if(hi.sort=2)

23、 cout<<"t单间t"if(hi.sort=3) cout<<"t套间t"cout<<hi.price;if(hi.status=1) cout<<"tt空房"if(hi.status=2) cout<<"tt入住"if(hi.status=3) cout<<"tt预定"cout<<endl;int text;cout<<endl<<"1.空房情况"<<

24、endl<<"2.入住情况"<<endl<<"3.预定情况"<<endl<<"4.查询房间"<<endl<<"5.返回上层"<<endl;cin>>text;show2(h,text);int menu_rsroom(int roomno,house h,int n)/三级菜单(预定登记)for(int i=0;i<n;i+) if(hi.no=roomno)if (hi.status!=1) retu

25、rn 0;hi.status=3;cout<<"请依次输入以下信息"<<endl<<"姓名:t"cin>>;cout<<"身份证信息:t"cin>>hi.pep.IDcard;cout<<"联系方式:t"cin>>hi.pep.phno;cout<<"押金:tt"cin>>hi.pep.deposit;cout<<"预定日期(如:20

26、16 6 28):t"cin>>hi.pep.target.year>>hi.pep.target.month>>hi.pep.target.day;cout<<"预住日期 格式如上:tt"cin>>hi.pep.in.year>>hi.pep.in.month>>hi.pep.in.day;cout<<"预住天数:t"cin>>hi.pep.tday;return 1;return 0;int menu_inroom(int roomn

27、o,house h,int n)/三级菜单(入住登记)for(int i=0;i<n;i+) if(hi.no=roomno)if (hi.status!=3) return 0;cout<<"预定日期:"<<hi.pep.target.year<<"年"<<hi.pep.target.month<<"月"<<hi.pep.target.day<<"日"<<endl;hi.status=2;cout<<

28、"入住日期(如:2016 6 28):t"cin>>hi.pep.in.year>>hi.pep.in.month>>hi.pep.in.day;return 1;return 0;int menu_outroom(int roomno,house h,int n)/三级菜单(退房结算)for(int i=0;i<n;i+) if(hi.no=roomno)if (hi.status!=2) return 0;cout<<"预定日期:"<<hi.pep.target.year<<

29、;"年"<<hi.pep.target.month<<"月"<<hi.pep.target.day<<"日"<<endl;cout<<"入住日期:"<<hi.pep.in.year<<"年"<<hi.pep.in.month<<"月"<<hi.pep.in.day<<"日"<<endl;hi.statu

30、s=1;cout<<"退房日期(如:2016 6 28):t"cin>>hi.pep.out.year>>hi.pep.out.month>>hi.pep.out.day;cout<<"实住天数:t"cin>>hi.pep.tday;ofstream file3;file3.open("c:customerlist.txt",ios:out|ios:ate|ios:app);file3<<hi.no<<"t"<&l

31、t;<<"t"<<hi.pep.IDcard<<"t"<<hi.pep.phno<<"t"<<hi.pep.target.year<<"年"<<hi.pep.target.month<<"月"<<hi.pep.target.day<<"日"<<"t"<<hi.pep.in.year

32、<<"年"<<hi.pep.in.month<<"月"<<hi.pep.in.day<<"日"<<"t"<<hi.pep.out.year<<"年"<<hi.pep.out.month<<"月"<<hi.pep.out.day<<"日"<<"t"<<hi.pep.tday

33、<<"tt"<<hi.price*hi.pep.tday<<endl;file3.close();return hi.pep.deposit-hi.price*hi.pep.tday;return 0;int option2(int op)/二级菜单选项int text3(0);switch (op)case 1:show(h,n);return 0;case 2:cout<<"请输入房间号:t"cin>>roomno;if (menu_rsroom(roomno,h,n) cout<<&qu

温馨提示

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

评论

0/150

提交评论