版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日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<iostream>usingnamespacestd;#defineROOMNUM10#defineDAYFEE100#defineHOURFEE10typedefstructroom{ intid;//房间编号 intnum;//床位数 floatfee;//费率 inttype;//0代表按天,1代表安小时 floattime;//时间 charstartTime[50];//入住时间 charname[30];//旅客姓名 boolstatus;//房间状态false代表空闲true代表已经有旅客}ROOM;boolInitRoom(ROOM*roomList,intlen){ //printf("请分别输入编号床位数"); for(inti=0;i<len;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<len;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<len;i++) { if(roomList[i].id==roomId) { flag=true; break; } } if(flag) { if(roomList[i].status) { cout<<"该房间已经被旅客:"<<roomList[i].name<<"租住!"<<endl; } else { cout<<"该房间还是空闲的!"<<endl; } } else { cout<<"该房号不存在!"<<endl; } returnflag;}voidDispalyCountInfo(ROOM&r){ cout<<"房号:"<<r.id<<"客户名:"<<<<"起始时间:"<<r.startTime<<"费用:"<<r.fee*r.time<<endl<<endl; }voidDispalyAllRoom(ROOM*roomList,intlen){ cout<<"房号"<<"状态"<<"客户名"<<"入住时间"<<endl; for(inti=0;i<len;i++) { cout<<roomList[i].id; if(roomList[i].status) { cout<<"入住"<<roomList[i].name<<""<<roomList[i].startTime; } else { cout<<"空闲"; } cout<<endl; } }boolCountRoom(ROOM*roomList,intlen,introomId){ boolflag=false; for(inti=0;i<len;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<<"该房间还是空闲的,不能结账!"<<endl; } } else { cout<<"该房号不存在!"<<endl; } returnflag;}boolRequireRoom(ROOM*roomList,intlen,introomId,floattime){ boolflag=false; for(inti=0;i<len;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<<"该房间还是空闲的,不能结账!"<<endl; } } else { cout<<"该房号不存在!"<<endl; } 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<<"登记成功!房间号为:"<<roomList[regId].id<<endl; } else { cout<<"房间已经满!"<<endl; } 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 19069-2:2024 EN Plastics - Polypropylene (PP) moulding and extrusion materials - Part 2: Preparation of test specimens and determination of properties
- 2024室内外防水施工一体化承包协议版B版
- 2024室内木作隔墙项目承包协议样本版B版
- 2024年度个人房产交易协议样本版B版
- 2024年大数据分析服务合同服务内容与数据安全
- 2024年企业间劳务派遣协作合同样本一
- 2024年医院人力资源协议样式版B版
- 2024年专业代购服务协议范例版B版
- 2024年可再生能源发电项目投资与合作合同
- 2024劳动合同中约定知识产权保密事项
- 弱电信息化项目施工组织设计方案
- 2024时事政治考试100题及参考答案
- 2024秋期国家开放大学本科《经济学(本)》一平台在线形考(形考任务1至6)试题及答案
- 科研结余经费管理办法
- 2024年建筑业10项新技术
- 四年级上册道法知识点汇总
- 人教版四年级数学上册课件 第6单元 除数是整十数的笔算除法(共16张PPT)
- 绿化工程全套资料样本(完整版)
- 新生儿尿布皮炎的护理PPT幻灯片
- 临床常见病医嘱
- 模具供应商审核表
评论
0/150
提交评论