版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024卵石买卖合同
- 2024年保险合同:保险公司与投保人之间的保险条款及保险责任约定
- 上海市浦东新区2024-2025学年七年级上学期期中英语试题(解析版)
- 人教版八年级英语第一学期期末考试试题(含答案)(适用于山东)
- 江南大学《服装CAD》2022-2023学年第一学期期末试卷
- 江南大学《材料形变加工新技术》2023-2024学年第一学期期末试卷
- 江南大学《工程材料及成形基础》2022-2023学年第一学期期末试卷
- 2024年企业收购股权转让标准化协议样本版B版
- 2024年专业法律咨询与服务合同版B版
- 佳木斯大学《断层影像解剖学》2021-2022学年第一学期期末试卷
- 2024秋期河南开放大学《社会学概论》一平台无纸化考试(作业练习1至3+我要考试)试题及答案
- 贲门缩窄术后的护理
- 量子医学治疗学行业分析及未来五至十年行业发展报告
- 沪教牛津版英语2024七年级上册全册知识清单(记忆版)
- 腹膜透析并发症及护理
- 《抖音运营》课件-3.短视频拍摄基础
- 2024年秋季学期新湘教版七年级上册地理课件 第四章 第三节 丰富多彩的世界文化
- 统编版六年级下册道德与法治1-学会尊重-课件(54张课件)
- 施工组织试题库-10套试卷及答案10.1试卷
- 真菌课件-2024-2025学年人教版(2024)生物七年级上册
- 事业单位工作人员处分暂行规定心得体会三篇
评论
0/150
提交评论