




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
源代码#include #includevoid initial_room();/初始化80个房间信息void welcome();/验证用户登陆,登陆成功显示欢迎信息void enter(); /系统入口void book_room(); /订房 void check_in(); /入住void check_out(); /退房void inquire(); /信息查询int i=0;struct Room /Room结构体int number; int dank; int price; int state; ;class Customer public: Customer(); void set_name(char *n)strcpy(name,n); void set_ID(char *p)strcpy(ID,p); void set_room_number(int n)room_number=n; void set_day(int d)day=d; void set_prepaid(int p)prepaid=p; char *get_name()return name; char *get_ID()return ID; int get_room_number()return room_number; int get_day()return day; int get_prepaid()return prepaid; virtual Customer();private: char name10,ID19; int room_number; int prepaid; int change; int day;Customer:Customer()coutname; coutID; prepaid=change=day=0;Customer:Customer()cout该顾客退房成功!endl;Room room80; Customer *customer80;void main()/程序入口从这里开始运行char choice=1; initial_room();/初始化80个房间的信息,分四个等级 welcome();/验证用户登陆,登陆成功显示欢迎信息 while(choice=1) enter(); /根据用户的选择执行不同的功能 coutendl; coutchoice; coutendl; /系 统 登 陆 界 面void welcome()/验证用户登陆,登陆成功显示欢迎信息char name4,code7; coutnamecode; while(strcmp(name,0)!=0)|(strcmp(code,1)!=0) coutnamecode; coutendl; cout -n; cout 欢迎使用宾馆客房管理系统! n; cout -n; coutendl;/系 统 入 口void enter()int kind_of_service; cout请选择服务类别:订房、入住、退房还是查询? n; cout定房 2-入住 3-退房 4-查询: ; cinkind_of_service; if(kind_of_service4) | (kind_of_service1) coutkind_of_service; else switch(kind_of_service) case 1: book_room(); break;case 2: check_in(); break;case 3: check_out(); break;case 4: inquire(); break; /订 房 实 现void book_room()customeri=new Customer; int room_standard,day; cout请您选择预定房间的标准:n; coutroom_standard; coutday; customeri-set_day(day); switch(room_standard) int n; case 1: cout住房费用总共为: day*150元n;/计算住房费用 for(n=0;n20;n+)/从第一个级别的房间中查找一个空闲的房间 if(roomn.state=0)/state=0表示该住房没有被预定的 cout预定成功房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 2: cout住房费用总共为: day*200 元n; for(n=20;n40;n+) if(roomn.state=0) cout预定成功房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 3: cout住房费用总共为: day*300 元n; for(n=40;n60;n+) if(roomn.state=0) cout预定成功房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 4: cout住房费用总共为: day*600元n; for(n=60;n80;n+) if(roomn.state=0) cout预定成功房间号码为: roomn.numberset_room_number(roomn.number); break; break; i+; /住房的顾客数加1/入 住 登 记void check_in()char name110,id119; int ding_or_no,prepaid; cout订了 2-没订) ; cinding_or_no; if(ding_or_no=1) cout请输入顾客的姓名:name1; cout请输入顾客的身份证号码:id1; for(int j=0;jget_name(),name1)=0)&(strcmp(customerj-get_ID(),id1)=0) /查找该顾客的定房信息 int num=customerj-get_room_number(); /取得定房的房间号 cout顾客name1今天入住本宾馆! 房间号码为: numget_day()*150; customerj-set_prepaid(prepaid); cout请收房费 prepaid元整!get_day()*200; customerj-set_prepaid(prepaid); cout请收房费 prepaid元整!get_day()*300; customerj-set_prepaid(prepaid); cout请收房费 prepaid元整!get_day()*600; customerj-set_prepaid(prepaid); cout请收房费 prepaid元整!endl; room59+num%100.state=2; break; break; else customeri=new Customer; int room_standard,day; cout请您选择预定房间的标准:n; coutroom_standard; cinday; customeri-set_day(day); switch(room_standard) int n; case 1: prepaid=day*150; customeri-set_prepaid(prepaid); cout请收房费 prepaid元整!n; for(n=0;n20;n+) if(roomn.state=0) cout入住房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 2: prepaid=day*200; customeri-set_prepaid(prepaid); cout请收房费 prepaid元整!n; for(n=20;n40;n+) if(roomn.state=0) cout入住房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 3: prepaid=day*300; customeri-set_prepaid(prepaid); cout请收房费 prepaid元整!n; for(n=40;n60;n+) if(roomn.state=0) cout入住房间号码为: roomn.numberset_room_number(roomn.number); break; break; case 4: prepaid=day*600; customeri-set_prepaid(prepaid); cout请收房费 prepaid元整!n; for(n=60;n80;n+) if(roomn.state=0) cout入住房间号码为: roomn.numberset_room_number(roomn.number); /退 房 结 算 void check_out() char name210,id219; int standard,j,room_number,day1,day2,day; coutname2id2; coutday2; for(j=0;jget_name(),name2)=0)&(strcmp(customerj-get_ID(),id2)=0) room_number=customerj-get_room_number(); standard=room_number/100; day1=customerj-get_day(); day=day1-day2; switch(standard) case 6: cout顾客的房间号是room_number :为单人间,每天150元n; cout该顾客预付了房费 get_prepaid()元, 实际消费 day2*1500) cout请退给该顾客 day*150 元整!n; if(day) cout请补收该顾客住房费 -day*150 元整!n; break; case 7: cout顾客的房间号是room_number :为单人间,每天200元n; cout该顾客预付了房费 get_prepaid()元, 实际消费 day2*200元整!n; cout0) cout请退给该顾客 day*200 元整!n; if(day0) cout请补收该顾客住房费 -day*200 元整!n; break; case 8: cout顾客的房间号是room_number :为单人间,每天300元n; cout该顾客预付了房费 get_prepaid()元, 实际消费 day2*300元整!n; cout0) cout请退给该顾客 day*300 元整!n; if(day0) cout请补收该顾客住房费 -day*300 元整!n; break; case 9: cout顾客的房间号是room_number :为单人间,每天600元n; cout该顾客预付了房费 get_prepaid()元, 实际消费 day2*600元整!n; cout0) cout请退给该顾客 day*600 元整!n; if(day0) cout请补收该顾客住房费 -day*600 元整!n; break; coutaccount; if(account=1) for(int k=0;kget_room_number() roomk.state=0; i-; for(;ji;j+) customerj=customerj+1; delete customeri; /信 息 查 询void inquire() char inquire_choice; cout房间信息查询请按1, 顾客信息查询请按2: inquire_choice; if(inquire_choice=1) int j,k=0; cout下列房间还没人预订,也没人入住:endl; for(j=0;j80;j+) if(roomj.state=0) if(k%10=0) coutendl; coutroomj.numbert; k+; coutendl; k=0; cout下列房间已预订:endl; for(j=0;j80;j+) if(roomj.state=1) if(k%10=0) coutendl; coutroomj.numbert; k+; k=0; coutendl; coutendl; cout下列房间有人入住:endl; for(j=0;j80;j+) if(roomj.state=2) if(k%10=0) coutendl; coutroomj.numbert; k+; coutendl; else if(inquire_choice=2) cout按姓名查询请按1, 按身份证查询请按2: endl; char inquire_choice; if(inquire_choice=1) char name310; cout请输入顾客的姓名: name3; for(int j=0;jget_name(),name3)=0) coutname3的住房信息如下:n; coutt房间号为: get_room_numbe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年幼儿园园务公开工作计划方案
- 长治市重点中学2026届化学高一上期末质量检测试题含解析
- 智能化时代下的消费升级2025年零售行业创新策略深度报告
- 上海市格致初级中学2026届化学高一第一学期期中监测试题含解析
- 露天矿山矿区施工与材料供应管理
- 绿色金融债券市场发行政策变化对2025年投资影响研究报告
- 储备库设备维护与备品管理方案
- 九年级语文上册写作教学方案
- 2025年成人教育终身学习体系构建打造高效平台运营生态系统报告
- 炉灶购销合同(标准版)
- 住院病人防止走失课件
- 2024年重庆永川区招聘社区工作者后备人选笔试真题
- 医学技术专业讲解
- 2025年临床助理医师考试试题及答案
- 唯奋斗最青春+课件-2026届跨入高三第一课主题班会
- 2025民办中学教师劳务合同模板
- 2025年南康面试题目及答案
- 2025年事业单位考试贵州省毕节地区纳雍县《公共基础知识》考前冲刺试题含解析
- 高中喀斯特地貌说课课件
- 黄冈初一上数学试卷
- 2025年中国花盆人参行业市场发展前景及发展趋势与投资战略研究报告
评论
0/150
提交评论