酒店信息管理系统C++程序设计

时间: 2023-10-12 18:05:11 浏览: 65
酒店信息管理系统通常包括以下功能: 1. 客房管理:包括客房信息录入、客房信息查询、客房状态管理等。 2. 订单管理:包括订单录入、订单查询、订单修改、订单删除等。 3. 客户管理:包括客户信息录入、客户信息查询、客户信息修改、客户信息删除等。 4. 账务管理:包括结算管理、账单查询等。 下面是一个简单的酒店信息管理系统的C++程序设计,其中使用了面向对象的思想。 ```c++ #include<iostream> #include<cstring> using namespace std; class Room{ //客房类 private: int roomNum; //客房号 char roomType[10]; //客房类型 double roomPrice; //客房价格 bool roomStatus; //客房状态(true表示已被预定,false表示未被预定) public: Room(int num, char* type, double price, bool status=false){ //构造函数 roomNum=num; strcpy(roomType,type); roomPrice=price; roomStatus=status; } int getRoomNum(){ //获取客房号 return roomNum; } char* getRoomType(){ //获取客房类型 return roomType; } double getRoomPrice(){ //获取客房价格 return roomPrice; } bool getRoomStatus(){ //获取客房状态 return roomStatus; } void setRoomStatus(bool status){ //设置客房状态 roomStatus=status; } }; class Order{ //订单类 private: int orderNum; //订单号 int roomNum; //客房号 char customerName[20]; //顾客姓名 char customerPhone[20]; //顾客电话 int days; //入住天数 double totalPrice; //订单总价 public: Order(int num, int room, char* name, char* phone, int d, double price){ //构造函数 orderNum=num; roomNum=room; strcpy(customerName,name); strcpy(customerPhone,phone); days=d; totalPrice=price; } int getOrderNum(){ //获取订单号 return orderNum; } int getRoomNum(){ //获取客房号 return roomNum; } char* getCustomerName(){ //获取顾客姓名 return customerName; } char* getCustomerPhone(){ //获取顾客电话 return customerPhone; } int getDays(){ //获取入住天数 return days; } double getTotalPrice(){ //获取订单总价 return totalPrice; } }; class Hotel{ //酒店类 private: Room rooms[50]; //客房数组 int roomCount; //客房数目 Order orders[100]; //订单数组 int orderCount; //订单数目 public: Hotel(){ //构造函数 roomCount=50; orderCount=0; for(int i=0;i<50;i++){ //初始化客房数组 char type[10]; if(i<10)strcpy(type,"单人间"); else if(i<30)strcpy(type,"标准间"); else strcpy(type,"豪华间"); double price=0; if(i<10)price=200; else if(i<30)price=300; else price=500; Room room(i+1,type,price); rooms[i]=room; } } void showRoomList(){ //显示客房列表 cout<<"客房号\t类型\t价格\t状态"<<endl; for(int i=0;i<50;i++){ cout<<rooms[i].getRoomNum()<<"\t"<<rooms[i].getRoomType()<<"\t"<<rooms[i].getRoomPrice()<<"\t"; if(rooms[i].getRoomStatus())cout<<"已预定"<<endl; else cout<<"未预定"<<endl; } } void searchRooms(char* type){ //按类型查找客房 cout<<"客房号\t类型\t价格\t状态"<<endl; for(int i=0;i<50;i++){ if(strcmp(rooms[i].getRoomType(),type)==0){ cout<<rooms[i].getRoomNum()<<"\t"<<rooms[i].getRoomType()<<"\t"<<rooms[i].getRoomPrice()<<"\t"; if(rooms[i].getRoomStatus())cout<<"已预定"<<endl; else cout<<"未预定"<<endl; } } } void bookRoom(int roomNum, char* name, char* phone, int days){ //预定客房 Order order(orderCount+1,roomNum,name,phone,days,rooms[roomNum-1].getRoomPrice()*days); orders[orderCount]=order; rooms[roomNum-1].setRoomStatus(true); orderCount++; cout<<"预定成功!"<<endl; } void showOrderList(){ //显示订单列表 cout<<"订单号\t客房号\t顾客姓名\t顾客电话\t入住天数\t订单总价"<<endl; for(int i=0;i<orderCount;i++){ cout<<orders[i].getOrderNum()<<"\t"<<orders[i].getRoomNum()<<"\t"<<orders[i].getCustomerName()<<"\t"<<orders[i].getCustomerPhone()<<"\t"<<orders[i].getDays()<<"\t"<<orders[i].getTotalPrice()<<endl; } } void checkout(int orderNum){ //结算 for(int i=0;i<orderCount;i++){ if(orders[i].getOrderNum()==orderNum){ int roomNum=orders[i].getRoomNum(); double totalPrice=orders[i].getTotalPrice(); orders[i]=orders[orderCount-1]; orderCount--; rooms[roomNum-1].setRoomStatus(false); cout<<"结算成功,房费为"<<totalPrice<<"元。"<<endl; return; } } cout<<"该订单不存在!"<<endl; } }; int main(){ Hotel hotel; int choice; while(true){ cout<<"欢迎使用酒店信息管理系统!"<<endl; cout<<"1.查看客房列表"<<endl; cout<<"2.按类型查找客房"<<endl; cout<<"3.预定客房"<<endl; cout<<"4.显示订单列表"<<endl; cout<<"5.结算"<<endl; cout<<"6.退出系统"<<endl; cout<<"请选择操作:"; cin>>choice; switch(choice){ case 1:{ hotel.showRoomList(); break; } case 2:{ char type[10]; cout<<"请输入客房类型:"; cin>>type; hotel.searchRooms(type); break; } case 3:{ int roomNum,days; char name[20],phone[20]; cout<<"请输入客房号:"; cin>>roomNum; cout<<"请输入顾客姓名:"; cin>>name; cout<<"请输入顾客电话:"; cin>>phone; cout<<"请输入入住天数:"; cin>>days; hotel.bookRoom(roomNum,name,phone,days); break; } case 4:{ hotel.showOrderList(); break; } case 5:{ int orderNum; cout<<"请输入订单号:"; cin>>orderNum; hotel.checkout(orderNum); break; } case 6:{ cout<<"感谢使用本系统!"<<endl; return 0; } default:{ cout<<"输入有误,请重新输入!"<<endl; break; } } } return 0; } ``` 以上程序仅供参考,实际应用中需要根据具体需求进行修改和完善。

相关推荐

最新推荐

recommend-type

酒店点菜管理系统设计文档

酒店点菜管理系统软件工程设计文档,绝对原创,绝对认真,当时得了95分呢~~包括概要设计和详细设计,什么界面啦、流程图啦之类的都有~~
recommend-type

酒店客房管理信息系统设计与开发

5.1程序算法详细设计 5.1.1客人补交押金模块代码实现 5.1.2客房信息汇总表代码实现 5.1.3客房管理模块删除代码实现 5.1.4客房管理模块修改代码实现 5.1.5清空数据库中的数据基本代码实现 5.2数据库详细设计 ...
recommend-type

酒店管理系统软件项目管理说明书.docx

软件生存期模型选择与设计、项目范围计划、需求规格说明书、系统WBS、软件的工作任务分解结构(WBS)、项目进度计划、项目成本计划、项目执行控制、风险管理、验收标准
recommend-type

酒店客房管理系统的数据库设计与数据操作

此系统运用E-R图实现酒店客房管理系统的分行和设计。很好的解决了传统客房管理的不足,它由客房预定退订模块、入住模块、退房模块组成,能帮助酒店管理人员快速及时的掌握客房信息,提高工作效率,方便顾客。
recommend-type

酒店管理信息系统UML类图

这是一个简单的酒店管理信息系统的UML类图,用VISIO进行绘制,具有概要类图和详细类图,文档仅供大家参考
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。