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

下载本文档

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

文档简介

年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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论