C语言酒店管理系统设计_第1页
C语言酒店管理系统设计_第2页
C语言酒店管理系统设计_第3页
C语言酒店管理系统设计_第4页
C语言酒店管理系统设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 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;/入住时间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;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)coutroomLroomListi.startTimeroomListi.type;if(roomListi.type = 1)roomListi.fee = HOURFEE;roomListi.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该房间已经被旅客:roomL 租住!endl;elsecout该房间还是空闲的!endl;elsecout该房号不存在!endl;return flag;void DispalyCountInfo(ROOM &r)cout房号:r.id 客户名:起始时间: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 入住 roomL roomListi.startTime;elsecout 空闲 ;coutendl;bool CountRoom(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)if(roomListi.type = 0)cout该旅客按天租住:n;elsecout该旅客按小时租住:n;coutroomListi.time;DispalyCountInfo(roomListi);/显示结账信息InitRoom(roomListi);/初始化该房间elsecout该房间还是空闲的,不能结账!endl;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.time = 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. 查询当前费用;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);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论