《酒店房间登记与计费管理系统》

在这里插入图片描述

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
struct room
{
  int name;
  int z;//表示入住状态,1为入住,0为空 
  char x;//表示入住方式 
  char vip;//记录是否为vip 
  int hours;//每小时价格 
  int days;//每天价格
  int day;//住的天数
  int hour;//住的小时 
};
room r[100];
void print()
{
 cout<<"操作表"<<endl;
 cout<<"0.结束"<<endl;
 cout<<"1.登记入住"<<endl;
 cout<<"2.查询房间入住情况"<<endl;
 cout<<"3.查询某房间的费用"<<endl;
 cout<<"4.结账退房"<<endl;
 cout<<"5.查看操作表"<<endl; 
 } 
 void second(int n)
 {
  for(int i=1;i<=n;i++)
  {
   cout<<r[i].name<<" "<<r[i].z<<endl;
  }
 }
 void third(int k)
 {
  cout<<r[k].hour<<"/小时"<<endl;
 cout<<r[k].day<<"/天"<<endl; 
 }
void first(int n)
{
 int k=1;
 cout<<"欢迎进入登记界面"<<endl; 
 cout<<"当前房间入住情况如下"<<endl;
 second(n);
 cout<<"请输入查询价格的房间号"<<endl;
 int p;
 cin>>p;
 r[p].z=1;//切换成入住状态 
 third(p);
 cout<<"正在为您办理入住"<<endl;
 cout<<"请选择入住方式h为小时入住,d为天数入住";
 char s;
 cin>>s;
 r[p].x=s;
 if(s=='h')
 {
  cout<<"请输入您要入住的小时数"<<endl;
  cin>>r[p].hours; 
  cout<<"恭喜您入住成功"<<endl;
  return;
  } 
  if(s=='d')
  {
   cout<<"请输入您要入住的天数"<<endl;
   cin>>r[p].days;
   cout<<"恭喜您入住成功"<<endl;
  return; 
  }
}
void four()
{
 cout<<"欢迎退房"<<endl;
 cout<<"请输入您的房间号"<<endl;
 int a;
 cin>>a;
 if(r[a].x=='h')
 {
  cout<<"您的入住时间是"<<r[a].hours<<"小时"<<endl;
  cout<<"您需要支付的费用为"<<r[a].hour*r[a].hours<<endl; 
  cout<<"请问您是否有vip,y or n"<<endl;
  char g;
  cin>>g;
  if(g=='y')
  {
   cout<<"打九折,您的折扣费用为"<<r[a].hour*r[a].hours*0.9<<endl;
   }
   cout<<"欢迎下次光临"<<endl;
   r[a].name=0;//房间置为空 
 
 }
 if(r[a].x=='d')
 {
  cout<<"您的入住时间是"<<r[a].days<<"天"<<endl;
  cout<<"您需要支付的费用为"<<r[a].day*r[a].days<<endl; 
  cout<<"请问您是否有vip,y or n"<<endl;
  char g;
  cin>>g;
  if(g=='y')
  {
   cout<<"打九折,您的折扣费用为"<<r[a].day*r[a].days*0.9<<endl;
   }
   cout<<"欢迎下次光临"<<endl;
   r[a].name=0;//房间置为空 
 
 }
  
}
int main()
{
 cout<<"开始初始化"<<endl;
 cout<<"输入旅馆房间个数"<<endl;
 int n;
 cin>>n;
 for(int i=1;i<=n;i++)
 {
  r[i].name=i;
  r[i].day=0;
  r[i].hour=0;
  r[i].z=0;
  cout<<"输入房间"<<i<<"的小时单价和天数单价空格隔开"<<endl;
  cin>>r[i].hour>>r[i].day; 
  } 
 print();
 int c=1,m;
 while(c)
 {
  cout<<"输入操作"<<endl;
  cin>>c;
  switch (c)
  { 
  case 1:
   first(n);
   break;
  case 2:
   second(n);
   cout<<"入住情况如下"<<endl;
   break;
  case 3:
   cout<<"请输入查询价格的房间号"<<endl;
   cin>>m;
   third(m);
   break;
  case 4:
   four();
   break;
  case 5:
   print();
   break;
  default:
   cout<<"错误指令,请重新输入"<<endl;
   break;
  }
 }
 return 0;
 } 
酒店房间登记计费管理系统通常是一个较为复杂的项目,涉及到用户管理、房型管理、预订处理和费用计算等功能。在C语言中编写这样的系统需要一些结构化编程的知识和文件操作技巧。以下是一个非常简化的示例,展示了如何创建一个基本的命令行界面来模拟这个过程: ```c #include <stdio.h> #include <stdlib.h> typedef struct Room { int room_number; char* type; float rate; } Room; void register_room(Room rooms[], int *num_rooms) { printf("请输入房间号码、类型和单价:\n"); scanf("%d %s %f", &rooms[*num_rooms].room_number, rooms[*num_rooms].type, &rooms[*num_rooms].rate); (*num_rooms)++; } void display_rooms(Room rooms[], int num_rooms) { for (int i = 0; i < num_rooms; i++) { printf("房间 %d - 类型:%s - 单价:%f\n", rooms[i].room_number, rooms[i].type, rooms[i].rate); } } float calculate_bill(int num_nights, Room rooms[], int num_rooms) { return num_nights * num_rooms * rooms[0].rate; } int main() { int num_rooms = 0; Room rooms[100]; // 注册房间 while (1) { register_room(rooms, &num_rooms); if (scanf("%d", &num_nights) != 1 || num_nights <= 0) { printf("请输入有效的入住天数。\n"); continue; } break; } // 显示所有房间信息 display_rooms(rooms, num_rooms); // 计算账单并显示 float bill = calculate_bill(num_nights, rooms, num_rooms); printf("您的账单总额为:%f元\n", bill); return 0; } ``` 这只是一个基础版的示例,实际的酒店管理系统会更复杂,包括数据库交互、错误处理、用户输入验证等。如果你需要更详细的代码或者特定功能的帮助,请告诉我,我可以提供更详尽的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值