旅馆管理系统(静态数组的使用)

本题是静态数组管理系统,用到了静态数组的知识,废话不多说,看程序吧!哈!

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#define N 10
using namespace std;
struct Room{                                                              
             int   roomgrade;//房间等级         
             int   roomprice;//房间价格
             int   roomnumber;//房间门号
             char  name[20];//旅客姓名
    int   sex;//旅客性别 0 代表男  1 代表女
             int   peoplein;//是否有人入住 0代表无人入住  1代表有客人入住了!!!
           } room[100];


int main()
{
   void CreatRoom();//订房信息初始化
   void ReadRoom();//已经被预定房间
   void ReturnRoom();//已经退还的房间
   void LookRoom();//查询房间使用情况
   printf("欢迎使用旅馆管理系统,请输入你要进行的操作\n");
   printf("----------------------------操作菜单----------------------------\n");
   printf("                       预定房间初始化请按“1”                  \n");
   printf("                       预定所需的房间请按“2”                  \n");
   printf("                       退掉使用的房间请按“3”                  \n");
   printf("                       查询房间的使用请按“4”                  \n");
   printf("                       结束进行的操作请按“5”                  \n");
   printf("----------------------------------------------------------------\n");
   int ch;
   cin>>ch;
   while(ch!=5)
   {
   switch(ch)
   {
   case 1:CreatRoom();break;
   case 2:ReadRoom();break;
   case 3:ReturnRoom();break;
   case 4:LookRoom();break;
   case 5:printf("系统已经制动关闭,感谢您的使用\n");return 0;break;
   default: printf("输入错误,请重新输入\n");break;
   }
   printf("欢迎使用旅馆管理系统,请输入你要进行的操作\n");
   printf("----------------------------操作菜单----------------------------\n");
   printf("                       预定房间初始化请按“1”                  \n");
   printf("                       预定所需的房间请按“2”                  \n");
   printf("                       退掉使用的房间请按“3”                  \n");
   printf("                       查询房间的使用请按“4”                  \n");
   printf("                       结束进行的操作请按“4”                  \n");
   printf("----------------------------------------------------------------\n");
   cin>>ch;
   }
   return 0;
}


void CreatRoom()//房间信息初始化
{
 int i,j;
 printf("房建等级初始化中...    请稍后\n\n\n");
 memset(room,0,sizeof(room));
 for(i=0;i<100;i=i+10)
  for(j=i;j<i+10;j++)
  
  {
   room[j].roomgrade=j/10+1;
      room[j].roomprice=j/10*100+100;
   room[j].roomnumber=j;
  printf("房间等级(级)  房间价格(元)  房间号码  旅客姓名  旅客性别  是否使用\n");
  printf("%-15d%-15d%-10d%-10s%-10d%-10d\n",room[j].roomgrade,room[j].roomprice,room[j].roomnumber,room[j].name,room[j].sex,room[j].peoplein);
  
  }
cout<<endl;
}

void ReadRoom()//预定房间
{

 int n,grade,mark,i,price=0,sum[100],j=0,m;
 printf("请输入您要预定的房间的个数:\n");
 cin>>n;
 m=n;
 while(n--)
 {
  printf("请输入你要预定房间的等级1~10:\n");
  cin>>grade;
        mark=0;
  for(i=(grade-1)*10;i<(grade-1)*10+10;i++)
     if(room[i].peoplein==0)
   {
    room[i].peoplein=1;
                mark=1;
    printf("请输入旅客的姓名:\n");
                scanf("%s",room[i].name);
    printf("请输入旅客性别:“0”代表男;“1”代表女\n");
                cin>>room[i].sex;
    sum[j]=i;
    j++;
       break;
   }
  if(mark==0)
  {
   printf("该等级房间已经满了人,请预定别的等级的房间:\n");
            n++;
  }
  
 }
 printf("你所预定的房间信息如下:\n");
 printf("----------------------------------------------------------------\n");
 for(i=0;i<m;i++)
 {
  printf("房间等级(级)  房间价格(元)  房间号码  旅客姓名  旅客性别  是否使用\n");
  printf("%-15d%-15d%-10d%-10s%-10d%-10d\n",room[sum[i]].roomgrade,room[sum[i]].roomprice,room[sum[i]].roomnumber,room[sum[i]].name,room[sum[i]].sex,room[sum[i]].peoplein);
  price+=room[sum[i]].roomprice; 
  }
     printf("----------------------------------------------------------------\n");
  printf("-------------------------------------应付款总额为:%d(元)\n\n\n",price);
}


void ReturnRoom()//退还房间
{
 int n,number;
 printf("请输入退还房间的个数:\n");
 cin>>n;
 while(n--)
 {
  printf("请输入退还房间的房间号码:\n");
  cin>>number;
  room[number].peoplein=0;
  room[number].sex=0;
     memset(room[number].name,0,sizeof(room[number].name));
 }
 
 printf("房间已经退还完毕,欢迎您下次光临本旅馆\n\n");

}
   


void LookRoom()//查询房间使用情况
{
 int i,remain=100,used=0;
 for(i=0;i<100;i++)
 {
         

     printf("房间等级(级)  房间价格(元)  房间号码  旅客姓名  旅客性别  是否使用\n");
     printf("%-15d%-15d%-10d%-10s%-10d%-10d\n",room[i].roomgrade,room[i].roomprice,room[i].roomnumber,room[i].name,room[i].sex,room[i].peoplein);
  if(room[i].peoplein==1)
  {
   remain--;
   used++;
  }
 }
 printf("房间使用情况如下:\n");
 printf("----------------------------------------------------------------\n");
 printf("                      房间总数:100                             \n");
 printf("                      已用房间:%d\n",used);
 printf("                      剩余房间:%d\n",remain);
 printf("----------------------------------------------------------------\n");
 cout<<endl<<endl;

}

原文地址:https://www.cnblogs.com/xiohao/p/2910803.html