zoukankan      html  css  js  c++  java
  • 旅馆管理系统(静态数组的使用)

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

    #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;

    }

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/xiohao/p/2910803.html
Copyright © 2011-2022 走看看