面向对象程序设计酒店客房预订系统重点学习学习资料doc.docx
《面向对象程序设计酒店客房预订系统重点学习学习资料doc.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计酒店客房预订系统重点学习学习资料doc.docx(25页珍藏版)》请在冰点文库上搜索。
面向对象程序设计酒店客房预订系统重点学习学习资料doc
面向对象程序课程设计
一、题目:
酒店客房预订系统
二、需求分析:
设计一个小型的快捷式酒店客房预订系统,实现对不同类型的客房进行预定,退房以及费用的计算。
三、系统结构图:
酒店客房预订系统
选择身份
客户管理员
输出
订房
退房
查询收入
余量
标准间大床间豪华间标准间大床间豪华间
选择
房号
选择
房号
判断是
否已被
预定
判断是
否已被
预定
是否是否
重新登记退房重新
选择信息成功选择
四、类的设计:
订房
成功
类date:
获取当前时间
-d-m-y+date+add
类hotel:
-x;
-room[10];
-SR;
-KR;
-DR;
-name[10];
-ID[20];
-Pay_s;
-Pay_k;
-Pay_d;
-time;
-income;
+Hotel
+choose
+voidin
+book
+cancel
+display
五、程序代码与说明:
date.h
#include
#include
#include
#include
#include
usingnamespacestd;
classdate{
private:
intd,m,y;
public:
date();
voidadd();
};
head.h
#include"date.h"
#include
#include
#include
#include
#include
#include
usingnamespacestd;
classHotel{
private:
intx;
//
选择定/退房
introom[10];
//
记录房间预定情况
intSR;
//
标准间余量standardroom
intKR;
//
大床间余量kingroom
intDR;
//
豪华间余量deluxeroom
charname[10];
//
登记客户姓名
charID[20];
//
登记客户身份证号
doublePay_s;
//
标准间支付费用
doublePay_k;
//
大床房支付费用
doublePay_d;
//
豪华间支付费用
doubletime;
//
入住天数
doubleincome;
//
总收入
public:
Hotel(inta,intb,intc);
voidchoose(intc,intt);//c(choose):
记录订房或退房,t(type):
记录所选房间类型
voidbook(intt);//订房
voidcancel(intt);//退房
voiddisplay();//输出房间余量表
voidin();
};
date.cpp
#include"date.h"
#include
date:
:
date()
{
time_tnow;
time(&now);
structtm*t_now;
t_now=localtime(&now);
y=t_now->tm_year+1900;
m=t_now->tm_mon+1;
d=t_now->tm_mday;
}
voiddate:
:
add()
{cout<<"今天是"<cout<<"欢迎您的光临!
"<cout<<"价格表:
"<cout<<"标准间:
150RMB/d"<cout<<"大床间:
200RMB/d"<cout<<"豪华间:
500RMB/d"<}
hotel.cpp
#include"head.h"
Hotel:
:
Hotel(inta,intb,intc){
SR=a;KR=b;DR=c;
};
voidHotel:
:
choose(intc,intt){
x=c;
if(c==1)//
订房
book(t);
if(c==2)//
退房
cancel(t);
}
voidHotel:
:
book(intt){
intm,c=0;
doubletime=0;
doublePay_s=0;
doublePay_k=0;
doublePay_d=0;
doublePay=0;
if(t==1)
if(SR==0)
cout<<"无余房,请选择其他类型:
"<else{
cout<<"请选择房间号:
1.1012.1023.1034.1045.105"<>m;
if(m!
=1&&m!
=2&&m!
=3&&m!
=4&&m!
=5)
{cout<<"输入错误"<Hotel:
:
choose(c,t);}
else{
if(room[m-1]==1)
cout<<"该房间有人,请重新选择"<else{
room[m-1]=1;SR--;
cout<<"请登记您的个人信息"<cout<<"姓名:
";cin>>name;
cout<<"身份证号:
";cin>>ID;
cout<<"入住天数:
";cin>>time;
Pay_s=150*time;
cout<<"您需支付"<};
};
};
if(t==2)
if(KR==0)
cout<<"无余房,请选择其他类型:
"<else{
cout<<"请选择房间号:
6.2017.2028.203"<>m;
if(m!
=6&&m!
=7&&m!
=8)
{cout<<"输入错误"<:
choose(c,t);}
else{
if(room[m-1]==1)
cout<<"该房间有人,请重新选择"<else{
room[m-1]=1;KR--;
cout<<"请登记您的个人信息"<cout<<"姓名:
";cin>>name;
cout<<"身份证号:
";cin>>ID;
cout<<"入住天数:
";cin>>time;
Pay_k=200*time;
cout<<"您需支付"<
};
};
};
if(t==3)
if(DR==0)
cout<<"无余房,请选择其他类型:
"<else{
cout<<"请选择房间号:
9.20410.205"<cin>>m;
if(m!
=9&&m!
=10)
{cout<<"输入错误"<Hotel:
:
choose(c,t);}
else{
if(room[m-1]==1)
cout<<"该房间有人,请重新选择"<else{
room[m-1]=1;DR--;
cout<<"请登记您的个人信息"<cout<<"姓名:
";cin>>name;
cout<<"身份证号:
";cin>>ID;
cout<<"入住天数:
";cin>>time;
Pay_d=500*time;
cout<<"您需支付"<};
};
};
if(t!
=1&&t!
=2&&t!
=3){Hotel:
:
choose(c,t);}
};
voidHotel:
:
cancel(intt){
intn;
if(t==1){
cout<<"请选择退房房号:
"<>n;
if(room[n-1]==1)
{room[n-1]=0;SR++;
Sleep(2000);
cout<<"退房成功!
"<else
cout<<"该房间未被预定,无法退订!
"<
};
if(t==2){
cout<<"请选择退房房号:
"<cout<<"6.2017.2028.203"<cin>>n;
if(room[n-1]==1)
{room[n-1]=0;KR++;
Sleep(2000);
cout<<"退房成功!
"<else
cout<<"该房间未被预定,无法退订!
"<
};
if(t==3){
cout<<"请选择退房房号:
"<cout<<"9.20410.205"<cin>>n;
if(room[n-1]==1)
{room[n-1]=0;DR++;
Sleep(2000);
cout<<"退房成功!
"<else
cout<<"该房间未被预定,无法退订!
"<};
};
voidHotel:
:
display()
{
cout<<"———————————————————————————————————
———"<cout<<"房间类型:
"<<""<<"余量"<<""<<"价格"<<""<<"已预订"<
cout<<"标准间(总5间):
"<<""<"<<5-SR<cout<<"大床间(总3间):
"<<""<"<<3-KR<cout<<"豪华间(总2间):
"<<""<"<<2-DR<cout<<"—————————————————————————————————
—————"<
voidHotel:
:
in()
{
doubleincome=0;
income=income+Pay_s+Pay_k+Pay_d;
cout<<"今日共计收入"<}
voidmain()
{
introom[10]={0,0,0,0,0,0,0,0,0,0,};
intl,m,n=1;
ints=5;
intk=3;
intd=2;
intincome=0;
intman=0;
charpassward[6];
//
//
选择进入身份管理员密码:
123456;
HotelH(s,k,d);
datetime;
time.add();
while(n){
cout<<"请输入进入身份:
1.客户2.管理员"<>man;
if(man==1){
cout<<"---请按提示选择服务---"<cout<<"1.订房"<<""<<"2.退房"<<""<<"0.其它键重启界面"<
cin>>l;
H.display();
cout<<"请选择订房类型:
"<cout<<"1.标准间"<<""<<"2.大床间"<<""<<"3.豪华间"<<""<<"0.其它键重启界面"<cin>>m;
H.choose(l,m);
};
if(man==2){
cout<<"请输入管理员密码:
";cin>>passward;if(strcmp(passward,"123456")==0)
H.in();
else
cout<<"密码错误,请按任意键退出";
cin>>n;
};
cout<<"请按任意键继续"<cin>>n;
}
};
六、运行结果与分析:
首界面
订房成功
退房成功
订房失败
退房失败
七、心得与体会:
在本次课程设计中,我是在编写的过程中,不断运行调试,将一个一个
功能逐步加入,在一次次的错误提示中逐渐的完善自己程序,独立的完成了
此次程序。
但是不足的是,未能实现客户信息的记录,修改以及删除,退房时不能
进行信息删除。
考核成绩评定表
平
时
成
绩
答
辩
成
绩
总
成
绩