C语言酒店管理系统设计说明

上传人:xmg****18 文档编号:119983886 上传时间:2020-01-31 格式:DOC 页数:17 大小:49.50KB
返回 下载 相关 举报
C语言酒店管理系统设计说明_第1页
第1页 / 共17页
C语言酒店管理系统设计说明_第2页
第2页 / 共17页
C语言酒店管理系统设计说明_第3页
第3页 / 共17页
C语言酒店管理系统设计说明_第4页
第4页 / 共17页
C语言酒店管理系统设计说明_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C语言酒店管理系统设计说明》由会员分享,可在线阅读,更多相关《C语言酒店管理系统设计说明(17页珍藏版)》请在金锄头文库上搜索。

1、.word可编辑.C+程序设计课程设计报告班级 计科101班 学号 37 姓名 毛翔 得分 一 目的加深对C+/C语言知识的理解,扩大相关知识面,培养对这些知识的应用能力。通过一个实际问题的C+/C语言源程序的编写和调试,提高综合运用C+/C语言、程序设计技术的能力,并为后续相关课程的学习打下基础。二 题目及要求题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。3、在结

2、账退房时,根据入住的时间,计费方式和房间单价计算出总费用。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。要求:1、用C语言实现系统;2、函数功能要划分好(结构化程序设计);3、界面友好(良好的人机交互),加必要的注释;4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。三 程序设计思想及流程图正确定义所要用到的变量,运用结构体存放房间的信息,用函数实现各个功能, 对不同标准的房间实施不同的收费标准用

3、,在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用,用switch语句实现旅客对所需要的操作的选择,其他具体操作的实现用循环、顺序、选择结构语句实现。四 源程序#include stdafx.h#include using namespace std;#define ROOMNUM 10#define DAYFEE 100#define HOURFEE 10typedef struct roomint id;/房间编号int num;/床位数float fee;/费率int type;/0 代表按天,1代表安小时float time;/时间char startTime50;/入住时

4、间char name30;/旅客姓名bool status;/房间状态 false 代表空闲 true 代表已经有旅客ROOM;bool InitRoom(ROOM *roomList,int len)/printf(请分别输入 编号 床位数 );for(int i=0;iroomListi.idroomListi.num;roomListi.id = 100+i;roomListi.num = 2;roomListi.type = 0;roomListi.status = false;roomListi.time = 0;roomListi.fee = DAYFEE;return true;

5、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;ilen;i+)if(!roomListi.status)flag = true;break;if(flag)coutroomListi.nameroomListi.startTimeroomListi.type;if(roomListi.type = 1)roomListi.fee = HOURFEE;roo

6、mListi.status = true;if(flag)return i;else return -1;bool SearchRoom(ROOM *roomList,int len,int roomId)bool flag = false;for(int i=0;ilen;i+)if(roomListi.id = roomId)flag = true;break;if(flag)if(roomListi.status)cout该房间已经被旅客:roomListi.name 租住!endl;elsecout该房间还是空闲的!endl;elsecout该房号不存在!endl;return fla

7、g;void DispalyCountInfo(ROOM &r)cout房号:r.id 客户名:r.name起始时间:r.startTime 费用:r.fee*r.timeendlendl;void DispalyAllRoom(ROOM *roomList,int len)cout房号 状态 客户名 入住时间endl;for(int i=0;ilen;i+)coutroomListi.id;if(roomListi.status)cout 入住 roomListi.name roomListi.startTime;elsecout 空闲 ;coutendl;bool CountRoom(RO

8、OM *roomList,int len,int roomId)bool flag = false;for(int i=0;ilen;i+)if(roomListi.id = roomId)flag = true;break;if(flag)if(roomListi.status)if(roomListi.type = 0)cout该旅客按天租住:n;elsecout该旅客按小时租住:n;coutroomListi.time;DispalyCountInfo(roomListi);/显示结账信息InitRoom(roomListi);/初始化该房间elsecout该房间还是空闲的,不能结账!e

9、ndl;elsecout该房号不存在!endl;return flag;bool RequireRoom(ROOM *roomList,int len,int roomId,float time)bool flag = false;for(int i=0;ilen;i+)if(roomListi.id = roomId)flag = true;break;if(flag)if(roomListi.status)if(roomListi.type = 0)cout该旅客按天租住:n;elsecout该旅客按小时租住:n;float t = roomListi.time;roomListi.tim

10、e = time;DispalyCountInfo(roomListi);/显示结账信息roomListi.time = t;elsecout该房间还是空闲的,不能结账!endl;elsecout该房号不存在!endl;return flag;int main(int argc, char* argv)ROOM roomListROOMNUM;InitRoom(roomList,ROOMNUM);int roomId;float time;int ret = -1;int regId = 0;while(ret != 0)cout请输入一个整数:n 1. 登记入住;n 2. 查询房间;n 3.

11、 查询当前费用;n 4. 结账退房; n 5.显示所有房间信息 n 0. 退出系统。n;coutret;switch(ret)case 1:regId = RegRoom(roomList,ROOMNUM);if(regId=0)cout登记成功!房间号为:roomListregId.idendl;elsecout房间已经满!endl;break;case 2:coutroomId;SearchRoom(roomList,ROOMNUM,roomId);break;case 3:coutroomIdtime;RequireRoom(roomList,ROOMNUM,roomId,time);break;case 4:coutroomId;CountRoom(roomList,ROOMNUM,roomId);break;case 5:DispalyAllRoom(roomList,ROOMNUM);break;co

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号