C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx

上传人:b****3 文档编号:16555236 上传时间:2022-11-24 格式:DOCX 页数:30 大小:129.50KB
下载 相关 举报
C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx_第1页
第1页 / 共30页
C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx_第2页
第2页 / 共30页
C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx_第3页
第3页 / 共30页
C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx_第4页
第4页 / 共30页
C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx

《C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。

C++课程设计+宾馆管理系统+完整的报告Word文件下载.docx

(3)在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;

2实验基本要求:

(1)实现用户信息的输入

(2)实现不同等级房间费用的查询

(3)实现用户房间的预定

(4)实现用户住宿费用的结算

二、程序设计步骤

1、设计用户登陆界面

2、建立类别

3、合理的使用继承和多态性把各类别组合起来

三、程序分块设计

1、用户登陆界面程序:

voidwelcome()//验证用户登陆,登陆成功显示欢迎信息

{

cout<

<

endl;

"

▲*******************************▲\n"

;

*欢迎使用宾馆管理系统!

*\n"

}

程序运行截图:

2订房实现程序如下:

voidbook_room()

customer[i]=newCustomer;

introom_standard,day;

请您选择预定房间的标准:

\n"

1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n"

cin>

>

room_standard;

请输入预定天数\n"

day;

customer[i]->

set_day(day);

switch(room_standard)

{

intn;

case1:

cout<

住房费用总共为:

"

day*150<

元\n"

for(n=0;

n<

20;

n++)//从第一个级别的房间中查找一个空闲的房间

{

if(room[n].state==0)//state=0表示该住房没有被预定的

预定成功★房间号码为:

room[n].number<

room[n].state=1;

customer[i]->

set_room_number(room[n].number);

break;

}

case2:

day*200<

for(n=20;

40;

n++)

if(room[n].state==0)

case3:

day*300<

for(n=40;

60;

case4:

day*600<

for(n=60;

80;

}

i++;

//住房的顾客数加1

程序运行的截图如下:

3顾客的入住登记程序:

voidcheck_in()

charname1[10],id1[19];

intding_or_no,prepaid;

该顾客订房了吗?

(1->

订了2->

没订)"

ding_or_no;

if(ding_or_no==1)

请输入顾客的姓名:

cin>

name1;

请输入顾客的身份证号码:

id1;

for(intj=0;

j<

=i;

j++)

if((strcmp(customer[j]->

get_name(),name1)==0)&

&

(strcmp(customer[j]->

get_ID(),id1)==0))//查找该顾客的定房信息

intnum=customer[j]->

get_room_number();

//取得定房的房间号

顾客"

name1<

今天入住本宾馆!

?

num<

room[num%100-1].state=2;

//修改房间状态为入住状态

}

else

customer[i]=newCustomer;

introom_standard,day;

请输入住宿天数\n"

switch(room_standard)

{

case1:

prepaid=day*150;

set_prepaid(prepaid);

请收房费"

prepaid<

元整!

入住房间号码为:

room[n].state=2;

case2:

prepaid=day*200;

case3:

prepaid=day*300;

case4:

prepaid=day*600;

i++;

4程序的退房结算:

voidcheck_out()

charname2[10],id2[19];

intstandard,j,room_number,day1,day2,day;

请输入要退房的顾客姓名和身份证号码:

name2>

id2;

请输入该顾客实住天数:

day2;

for(j=0;

i;

get_name(),name2)==0)&

get_ID(),id2)==0))

room_number=customer[j]->

standard=room_number/100;

day1=customer[j]->

get_day();

day=day1-day2;

switch(standard)

case6:

顾客的房间号是"

room_number<

:

为单人间,每天150元\n"

实际消费"

day2*150<

case7:

为单人间,每天200元\n"

day2*200<

case8:

为单人间,每天300元\n"

day2*300<

case9:

为单人间,每天600元\n"

day2*600<

退房核算清楚,请按1:

characcount;

account;

if(account=='

1'

for(intk=0;

k<

k++)

if(room[k].number==customer[j]->

get_room_number())

room[k].state=0;

i--;

for(;

customer[j]=customer[j+1];

deletecustomer[i];

5系统的查询功能程序如下:

voidinquire()

charinquire_choice;

房间信息查询请按1"

inquire_choice;

if(inquire_choice=='

intj,k=0;

下列房间还没人预订,也没人入住:

for(j=0;

if(room[j].state==0)

if(k%10==0)cout<

room[j].number<

'

\t'

k++;

k=0;

下列房间已预订:

if(room[j].state==1)

下列房间有人入住:

if(room[j].state==2)

6、主函数程序如下:

voidmain()//程序入口从这里开始运行

charchoice='

initial_room();

//初始化80个房间的信息,分四个等级

welcome();

//验证用户登陆,登陆成功显示欢迎信息

while(choice=='

enter();

//根据用户的选择执行不同的功能

继续使用本系统请按\"

1\"

退出请按\"

2\"

!

choice;

四、完整源程序如下:

#include<

iostream.h>

string.h>

//***********************************************************************************

voidinitial_room();

//初始化80个房间信息

voidwelcome();

voidenter();

voidbook_room();

voidcheck_in();

voidcheck_out();

voidinquire();

inti=0;

structRoom

intnumber;

intdank;

intprice;

intstate;

};

classCustomer

public:

Customer();

voidset_name(char*n){strcpy(name,n);

voidset_ID(char*p){strcpy(ID,p);

voidset_room_number(intn){room_number=n;

voidset_day(intd){day=d;

voidset_prepaid(intp){prepaid=p;

char*get_name(){returnname;

char*get_ID(){returnID;

intget_room_number(){returnroom_number;

intget_day(){returnday;

virtual~Customer();

private:

charname[10],ID[19];

introom_number;

intprepaid;

intchange;

intday;

Customer:

:

Customer()

请您输入顾客的姓名\n"

name;

请您输入顾客的身份证号码\n"

ID;

prepaid=change=day=0;

~Customer()

该顾客退房成功!

Roomroom[80];

Customer*customer[80];

//系统登陆界面***********************************************************************

//系统入口***************************************************************************

voidenter()

intkind_of_service;

请选择服务类别:

订房、入住、退房还是查询?

\n"

1->

定房2->

入住3->

退房4->

查询:

kind_of_service;

if((kind_of_service>

4)||(kind_of_service<

1))

您的输入有误,请重试!

else

switch(kind_of_service)

book_room();

break;

check_in();

check_out();

inquire();

//订房实现***************************************************************************

set_room_number(room[n].number

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1