完整word版C语言酒店管理系统设计.docx
- 文档编号:13129102
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:12
- 大小:17.45KB
完整word版C语言酒店管理系统设计.docx
《完整word版C语言酒店管理系统设计.docx》由会员分享,可在线阅读,更多相关《完整word版C语言酒店管理系统设计.docx(12页珍藏版)》请在冰点文库上搜索。
完整word版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 usingnamespacestd; #defineROOMNUM10 #defineDAYFEE100 #defineHOURFEE10 typedefstructroom { 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 { 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<<"租住! ”< } else { cout〈〈"该房间还是空闲的! ”〈〈endl; } } else { cout<〈”该房号不存在! ”<〈endl; } returnflag; } voidDispalyCountInfo(ROOM&r) { cout<<"房号: ”<〈r.id<<"客户名: ”〈〈r。 name〈<"起始时间: ”〈 startTime<〈”费用: ”<〈r.fee*r。 time〈 } voidDispalyAllRoom(ROOM*roomList,intlen) { cout<<”房号"〈〈"状态”〈〈”客户名”<〈”入住时间"〈〈endl; for(inti=0;i { cout〈〈roomList[i]。 id; if(roomList[i]。 status) { cout〈<"入住”<〈roomList[i]。 name〈<”"< } else { cout<<”空闲"; } cout〈 } } boolCountRoom(ROOM*roomList,intlen,introomId) { boolflag=false; for(inti=0;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<<"该房号不存在! ”< } returnflag; } boolRequireRoom(ROOM*roomList,intlen,introomId,floattime) { boolflag=false; for(inti=0;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<〈"该房间还是空闲的,不能结账! ”< } } 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: DispalyAllRoom(roomList,ROOMNUM); break; } cout〈〈endl; } return0; } 五设计体会 经过这次课程设计,我发现我们所学的知识还是远远不够的.我们不仅要牢牢掌握课本上的知识,还要进行课外探索,对知识点进行深入研究,加深对知识点的理解.还有更重要的一点是,在学好知识的同时,多去实践一下,做到学以致用,这样才能更好的提高自己的能力,真正成为这方面的人才。 (报告以此为模板,打印装订后上交)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 语言 酒店 管理 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)