C语言酒店管理系统设计.docx

上传人:b****5 文档编号:4285528 上传时间:2022-11-28 格式:DOCX 页数:10 大小:17.17KB
下载 相关 举报
C语言酒店管理系统设计.docx_第1页
第1页 / 共10页
C语言酒店管理系统设计.docx_第2页
第2页 / 共10页
C语言酒店管理系统设计.docx_第3页
第3页 / 共10页
C语言酒店管理系统设计.docx_第4页
第4页 / 共10页
C语言酒店管理系统设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C语言酒店管理系统设计.docx

《C语言酒店管理系统设计.docx》由会员分享,可在线阅读,更多相关《C语言酒店管理系统设计.docx(10页珍藏版)》请在冰豆网上搜索。

C语言酒店管理系统设计.docx

C语言酒店管理系统设计

《C++程序设计》课程设计报告

班级计科101班学号37姓名毛翔得分

一目的

加深对C++/C语言知识的理解,扩大相关知识面,培养对这些知识的应用能力。

通过一个实际问题的C++/C语言源程序的编写和调试,提高综合运用C++/C语言、程序设计技术的能力,并为后续相关课程的学习打下基础。

二题目及要求

题目:

酒店房间登记与计费管理系统

功能:

1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。

2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。

3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:

建立房间列表,完成登记入住、查询房间入住情况功能。

3、进一步要求:

完成计费和费用查询功能。

要求:

1、用C语言实现系统;

2、函数功能要划分好(结构化程序设计);

3、界面友好(良好的人机交互),加必要的注释;

4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

 

三程序设计思想及流程图

正确定义所要用到的变量,运用结构体存放房间的信息,用函数实现各个功能,对不同标准的房间实施不同的收费标准用,在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用,用switch语句实现旅客对所需要的操作的选择,其他具体操作的实现用循环、顺序、选择结构语句实现。

四源程序

#include"stdafx.h"

#include

usingnamespacestd;

#defineROOMNUM10

#defineDAYFEE100

#defineHOURFEE10

typedefstructroom

{

intid;//房间编号

intnum;//床位数

floatfee;//费率

inttype;//0代表按天,1代表安小时

floattime;//时间

charstartTime[50];//入住时间

charname[30];//旅客姓名

boolstatus;//房间状态false代表空闲true代表已经有旅客

}ROOM;

boolInitRoom(ROOM*roomList,intlen)

{

//printf("请分别输入编号床位数");

for(inti=0;i

{

//cin>>roomList[i].id>>roomList[i].num;

roomList[i].id=100+i;

roomList[i].num=2;

roomList[i].type=0;

roomList[i].status=false;

roomList[i].time=0;

roomList[i].fee=DAYFEE;

}

returntrue;

}

voidInitRoom(ROOM&r)//重载

{

r.type=0;

r.status=false;

r.time=0;

r.fee=DAYFEE;

}

intRegRoom(ROOM*roomList,intlen)

{

boolflag=false;

for(inti=0;i

{

if(!

roomList[i].status)

{

flag=true;

break;

}

}

if(flag)

{

cout<<"请分别输入:

客户名称起始时间租住方式(0/1)\n";

cin>>roomList[i].name>>roomList[i].startTime>>roomList[i].type;

if(roomList[i].type==1)

{

roomList[i].fee=HOURFEE;

}

roomList[i].status=true;

}

if(flag)

returni;

else

return-1;

}

boolSearchRoom(ROOM*roomList,intlen,introomId)

{

boolflag=false;

for(inti=0;i

{

if(roomList[i].id==roomId)

{

flag=true;

break;

}

}

if(flag)

{

if(roomList[i].status)

{

cout<<"该房间已经被旅客:

"<

"<

}

else

{

cout<<"该房间还是空闲的!

"<

}

}

else

{

cout<<"该房号不存在!

"<

}

returnflag;

}

voidDispalyCountInfo(ROOM&r)

{

cout<<"房号:

"<

"<

"<

"<

}

voidDispalyAllRoom(ROOM*roomList,intlen)

{

cout<<"房号"<<"状态"<<"客户名"<<"入住时间"<

for(inti=0;i

{

cout<

if(roomList[i].status)

{

cout<<"入住"<

}

else

{

cout<<"空闲";

}

cout<

}

}

boolCountRoom(ROOM*roomList,intlen,introomId)

{

boolflag=false;

for(inti=0;i

{

if(roomList[i].id==roomId)

{

flag=true;

break;

}

}

if(flag)

{

if(roomList[i].status)

{

if(roomList[i].type==0)

{

cout<<"该旅客按天租住:

\n";

}

else

{

cout<<"该旅客按小时租住:

\n";

}

cout<<"请输入入住时间:

";

cin>>roomList[i].time;

DispalyCountInfo(roomList[i]);//显示结账信息

InitRoom(roomList[i]);//初始化该房间

}

else

{

cout<<"该房间还是空闲的,不能结账!

"<

}

}

else

{

cout<<"该房号不存在!

"<

}

returnflag;

}

 

boolRequireRoom(ROOM*roomList,intlen,introomId,floattime)

{

boolflag=false;

for(inti=0;i

{

if(roomList[i].id==roomId)

{

flag=true;

break;

}

}

if(flag)

{

if(roomList[i].status)

{

if(roomList[i].type==0)

{

cout<<"该旅客按天租住:

\n";

}

else

{

cout<<"该旅客按小时租住:

\n";

}

floatt=roomList[i].time;

roomList[i].time=time;

DispalyCountInfo(roomList[i]);//显示结账信息

roomList[i].time=t;

}

else

{

cout<<"该房间还是空闲的,不能结账!

"<

}

}

else

{

cout<<"该房号不存在!

"<

}

returnflag;

}

intmain(intargc,char*argv[])

{

ROOMroomList[ROOMNUM];

InitRoom(roomList,ROOMNUM);

introomId;

floattime;

intret=-1;

intregId=0;

while(ret!

=0)

{

cout<<"请输入一个整数:

\n1.登记入住;\n2.查询房间;\n3.查询当前费用;\n4.结账退房;\n5.显示所有房间信息\n0.退出系统。

\n";

cout<<"请输入:

";

cin>>ret;

switch(ret)

{

case1:

regId=RegRoom(roomList,ROOMNUM);

if(regId>=0)

{

cout<<"登记成功!

房间号为:

"<

}

else

{

cout<<"房间已经满!

"<

}

break;

case2:

cout<<"请输入房间ID:

";

cin>>roomId;

SearchRoom(roomList,ROOMNUM,roomId);

break;

case3:

cout<<"请输入旅客房间ID以及已经入住时间长度:

";

cin>>roomId>>time;

RequireRoom(roomList,ROOMNUM,roomId,time);

break;

case4:

cout<<"请输入旅客房间ID:

";

cin>>roomId;

CountRoom(roomList,ROOMNUM,roomId);

break;

case5:

DispalyAllRoom(roomList,ROOMNUM);

break;

}

cout<

}

return0;

}

五设计体会

经过这次课程设计,我发现我们所学的知识还是远远不够的.我们不仅要牢牢掌握课本上的知识,还要进行课外探索,对知识点进行深入研究,加深对知识点的理解.还有更重要的一点是,在学好知识的同时,多去实践一下,做到学以致用,这样才能更好的提高自己的能力,真正成为这方面的人才.

(报告以此为模板,打印装订后上交)

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

当前位置:首页 > 自然科学 > 物理

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

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