1、 C语言酒店管理系统设计 20 2020年4月19日 文档仅供参考 《C++程序设计》课程设计报告 班级 计科101班 学号 37 姓名 毛翔 得分 一 目的 加深对C++/C语言知识的理解,扩大相关知识面,培养对这些知识的应用能力。经过一个实际问题的C++/C语言源程序的编写和调试,提高综合运用C++/C语言、程序设计技术的能力,并为后续相关课程的学习打下基础。 二 题目及要求 题目:酒店房间登记与计费管理系统 功能:1、屏幕
2、上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也能够按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用C语言实现系统; 2、函数功能
3、要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
三 程序设计思想及流程图
正确定义所要用到的变量,运用结构体存放房间的信息,用函数实现各个功能, 对不同标准的房间实施不同的收费标准用,在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用,用switch语句实现旅客对所需要的操作的选择,其它具体操作的实现用循环、顺序、选择结构语句实现。
四 源程序
#include "stdafx.h"
#include 4、eam>
using namespace std;
#define ROOMNUM 10
#define DAYFEE 100
#define HOURFEE 10
typedef struct room
{
int id;//房间编号
int num;//床位数
float fee;//费率
int type;//0 代表按天,1代表安小时
float time;//时间
char startTime[50];//入住时间
char name[30];//旅客姓名
bool status;//房间状态 false 代表空闲 true 代表已 5、经有旅客
}ROOM;
bool InitRoom(ROOM *roomList,int len)
{
//printf("请分别输入 编号 床位数 ");
for(int i=0;i 6、ist[i].fee = DAYFEE;
}
return true;
}
void InitRoom(ROOM &r)//重载
{
r.type = 0;
r.status = false;
r.time = 0;
r.fee = DAYFEE;
}
int RegRoom(ROOM *roomList,int len)
{
bool flag = false;
for(int i=0;i 7、}
}
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)
return i;
else
return -1;
}
bool SearchRoo 8、m(ROOM *roomList,int len,int roomId)
{
bool flag = false;
for(int i=0;i 9、闲的!"< 10、"< 11、
for(int i=0;i 12、ist[i].time;
DispalyCountInfo(roomList[i]);//显示结账信息
InitRoom(roomList[i]);//初始化该房间
}
else
{
cout<<"该房间还是空闲的,不能结账!"< 13、e;
for(int i=0;i 14、 roomList[i].time = time;
DispalyCountInfo(roomList[i]);//显示结账信息
roomList[i].time = t;
}
else
{
cout<<"该房间还是空闲的,不能结账!"< 15、ROOMNUM);
int roomId;
float time;
int ret = -1;
int regId = 0;
while(ret != 0)
{
cout<<"请输入一个整数:\n 1. 登记入住;\n 2. 查询房间;\n 3. 查询当前费用;\n 4. 结账退房; \n 5.显示所有房间信息 \n 0. 退出系统。\n";
cout<<"请输入:";
cin>>ret;
switch(ret)
{
case 1:
regId = RegRoom(roomList,ROOMNUM);
i 16、f(regId>=0)
{
cout<<"登记成功!房间号为:"< 17、oomId>>time;
RequireRoom(roomList,ROOMNUM,roomId,time);
break;
case 4:
cout<<"请输入旅客房间ID:";
cin>>roomId;
CountRoom(roomList,ROOMNUM,roomId);
break;
case 5:
DispalyAllRoom(roomList,ROOMNUM);
break;
}
cout<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818