酒店管理系统

来源:互联网 发布:自动约车软件 编辑:程序博客网 时间:2024/06/10 03:07

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "ConsoleOut.h"
#pragma comment(lib,"ConsoleOut.lib")

#define ARRAY_SIZE 20
using namespace std;

inline  void Insert();   //插入
inline  void Delete();   //删除
inline  void fnFind();   //查找
inline  void Modify();   //修改
inline  void fnShow();   //显示
inline  void fnFace();   //界面
inline  void fnExit();   //退出
inline  void choice(); 
inline  void Settle();   //退出


struct Room
{
 char chNo[10];
 char chFlag[12];
 int iPrice ;
 char chType[12];
}array[ARRAY_SIZE];

int array_size=ARRAY_SIZE;
int total=0;
time_t t_end,t_start;


void main()
{
 
 fnFace();
}
inline void ChackIn()
{
  CreateSmWindow("CHACK IN",0,0,40,31,3,7);
  char chRoomNo[6];
     int i=0;

  MoveCursorTo(2,2);
  cout<<"which room you want to chack in:";
  cin>>chRoomNo;

     while(i<total && strcmp(chRoomNo,array[i].chNo)!=0)
    i++;

   if(i==total ||total==0)
   {
       CreateSmWindow("CHICK IN",0,0,40,31,3,7);
       MoveCursorTo(2,2);
       cout<<"Haven't find the room/n";
   }
  
  else
  {
          cout<<"Undersurface is the information of the room:/n/n";
          cout<<"      ----------------------------/n";
          cout<<"      RoomNo:"<<array[i].chNo<<endl;
          cout<<"      ----------------------------/n";
             cout<<"      RoomType:"<<array[i].chType<<endl;
          cout<<"      ----------------------------/n";
             cout<<"      RoomFalg:"<<array[i].chFlag<<endl;
          cout<<"      ----------------------------/n";
             cout<<"      RoomPrice:"<<array[i].iPrice<<endl;
          cout<<"      ----------------------------/n";

   
          CreateSmWindow("",38,5,16,1,3,7);
       MoveCursorTo(41,6);
             cout<<"Do you want to chack in:";
       CreateSmWindow("",42,11,1,1,3,5);
       CreateSmWindow("",50,11,1,1,3,7);
          MoveCursorTo(43,12);printf("YES");
          MoveCursorTo(51,12);printf("NOT");
     
       MoveCursorTo(38,18);
             printf("Operation Manul:Tab-Choice Enter-Comfirm");
      int n=1;
            char ch;
  
            do
   {
                 ch=_getch();

              if(ch==9) n++;

              if(n==1)
     {
                      CreateSmWindow("",42,11,1,1,3,5);
                CreateSmWindow("",50,11,1,1,3,7);
                   MoveCursorTo(43,12);printf("YES");
                MoveCursorTo(51,12);printf("NOT");
     }

              else
     {
                     CreateSmWindow("",42,11,1,1,3,7);
               CreateSmWindow("",50,11,1,1,3,5);
                  MoveCursorTo(43,12);printf("YES");
               MoveCursorTo(51,12);printf("NOT");
         n=0;
     }
  
                 if(ch==13)
     {
                      if(n%2==0)   fnFace();
                   else           break;
 
     }
   }while(ch!=13);

            CreateSmWindow("CHICK IN",0,0,40,31,3,7);
      CreateSmWindow("",18,5,16,1,3,7);
      MoveCursorTo(22,6);
            cout<<"Register Successful!!!/n";
   
      
   t_start = time(NULL) ;
   MoveCursorTo(12,8);
   cout<<"The current time is:";
   time_t timep;
            time (&timep);
            printf("%s",ctime(&timep));

      strcpy(array[i].chFlag,"Unavailable");
  }

  
   choice();
}
inline void Insert()
{   char chType[10];

 CreateSmWindow("INSERT",0,0,40,31,3,7);
 
     CreateSmWindow("",20,3,24,1,3,5);
     MoveCursorTo(22,4);
  cout<<"RoomNo:";    cin>>array[total].chNo;
  CreateSmWindow("",20,6,24,1,3,5);
      MoveCursorTo(22,7);
  cout<<"Type(singleroom or doubleroom):";   cin>>chType;
  strcpy(array[total].chType,chType);
 
  strcpy(array[total].chFlag,"Available");
   array[total].iPrice=100;

     total++;
  choice();
}
inline void fnFace ()
{
 
 CreateSmWindow("Welcome To James Frain Hotal",0,0,40,31,3,7);
 CreateSmWindow("",10,3,10,1,3,5);   CreateSmWindow("",40,3,10,1,3,5);
 CreateSmWindow("",10,6,10,1,3,5);   CreateSmWindow("",40,6,10,1,3,5);
 CreateSmWindow("",10,9,10,1,3,5);   CreateSmWindow("",40,9,10,1,3,5);
 CreateSmWindow("",10,12,10,1,3,5);  CreateSmWindow("",40,12,10,1,3,5);
 
 

 MoveCursorTo(14,4);               
 cout<<"1--Chack in/n";             
 MoveCursorTo(14,7);                
 cout<<"2--Delete/n";               
 MoveCursorTo(14,10);               
 cout<<"3--Find/n";                 
 MoveCursorTo(14,13);               
 cout<<"4--Modify/n";               
 MoveCursorTo(44,4);
 cout<<"5--Show/n";
 MoveCursorTo(44,7);
 cout<<"6--Qiut/n";
 MoveCursorTo(44,10);
 cout<<"7--Insert/n";
    MoveCursorTo(44,13);
 cout<<"8--Settle/n";

 MoveCursorTo(34,25); 
 cout<<"Operation Manul: S-Choice   Comfirm-Enter";
 
    char Choice;
 int i=0; 
   
 do
 {
  Choice=_getch();
  if(Choice=='s' ||Choice=='S')
  {
             i++;

    if(i==1)
    {
     CreateSmWindow("",40,12,10,1,3,5);
     MoveCursorTo(44,13);
              cout<<"8--Settle/n";
     CreateSmWindow("",10,3,10,1,3,6);
     MoveCursorTo(14,4);
                 cout<<"1--Chack in/n";
    }
    else if(i==2)
    {
     CreateSmWindow("",10,3,10,1,3,5);
     MoveCursorTo(14,4);
                 cout<<"1--Chack in/n";
     CreateSmWindow("",10,6,10,1,3,6);
     MoveCursorTo(14,7);
              cout<<"2--Delete/n";
    }
    else if(i==3)
    {
     CreateSmWindow("",10,6,10,1,3,5);
     MoveCursorTo(14,7);
              cout<<"2--Delete/n";
     CreateSmWindow("",10,9,10,1,3,6);
     MoveCursorTo(14,10);
              cout<<"3--Find/n";
    }
    else if(i==4)
    { 
     CreateSmWindow("",10,9,10,1,3,5);
     MoveCursorTo(14,10);
              cout<<"3--Find/n";
     CreateSmWindow("",10,12,10,1,3,6);
     MoveCursorTo(14,13);
              cout<<"4--Modify/n";
    }
    else if(i==5)
    {
     CreateSmWindow("",10,12,10,1,3,5);
     MoveCursorTo(14,13);
              cout<<"4--Modify/n";
     CreateSmWindow("",40,3,10,1,3,6);
     MoveCursorTo(44,4);
              cout<<"5--Show/n";
    }
             else if(i==6)
    {
     CreateSmWindow("",40,3,10,1,3,5);
     MoveCursorTo(44,4);
              cout<<"5--Show/n";
     CreateSmWindow("",40,6,10,1,3,6);
     MoveCursorTo(44,7);
              cout<<"6--Qiut/n";
    }
    else if(i==7)
    {
                 CreateSmWindow("",40,6,10,1,3,5);
     MoveCursorTo(44,7);
              cout<<"6--Qiut/n";
     CreateSmWindow("",40,9,10,1,3,6);
     MoveCursorTo(44,10);
              cout<<"7--Insert/n";
    }
    else
    {
                 CreateSmWindow("",40,9,10,1,3,5);
     MoveCursorTo(44,10);
              cout<<"7--Insert/n";
     CreateSmWindow("",40,12,10,1,3,6);
     MoveCursorTo(44,13);
              cout<<"8--Settle/n";
     i=0;
    }
  }
  
 }while(Choice!=13);

   
   if(i==1)
    ChackIn();
   else if(i==2)
    Delete();
   else if(i==3)
    fnFind();
   else if(i==4)
    Modify();
            else if(i==5)
    fnShow();
   else if(i==6)
    fnExit();
   else if(i==7)
    Insert();
   else
    Settle();
}
inline void fnShow ()
{
 CreateSmWindow("SHOW ROOM",0,0,40,31,3,7);

 
      for(int i=0;i<total;i++)
   {
             cout<<"      ----------------------------/n";
             cout<<"      RoomNo:"<<array[i].chNo<<endl;
             cout<<"      ----------------------------/n";
                cout<<"      RoomType:"<<array[i].chType<<endl;
             cout<<"      ----------------------------/n";
                cout<<"      RoomFalg:"<<array[i].chFlag<<endl;
             cout<<"      ----------------------------/n";
                cout<<"      RoomPrice:"<<array[i].iPrice<<endl;
             cout<<"      ----------------------------/n";
   }
   if(0==total)
   {
    MoveCursorTo(8,2);
    cout<<"There is NULL room/n";
   }
  cout<<"/tTotal:"<<total;
 
 
    choice();
}
inline void Delete ()
{
     CreateSmWindow("DELETE ROOM",0,0,40,31,3,7);
 
  MoveCursorTo(2,2);
  cout<<"Enter the room you want to delete:";

 char chRoomNo[6];
    int i=0;
 
 cin>>chRoomNo;
    while(i<total && strcmp(chRoomNo,array[i].chNo)!=0)
  i++;
  if(i==total)
  {
   CreateSmWindow("DELETE ROOM",0,0,40,31,3,7);
   MoveCursorTo(2,2);
   cout<<"Haven't find the room/n";
  }

  else
  {
    for(int j=i+1;j<total;j++)
                 array[j-1]=array[j];
    MoveCursorTo(4,5);
          cout<<"Available Behavior,Successful Delete";
    total--;
   }
   choice();
}
inline void fnFind ()
{
 
 CreateSmWindow("FIND ROOM",0,0,40,31,3,7);
 
 MoveCursorTo(2,2);
 cout<<"Enter the room you want to find:";
 char chRoomNo[6];
    int i=0;
 cin>>chRoomNo;
    while(i<total && strcmp(chRoomNo,array[i].chNo)!=0)
  i++;
  if(i==total ||total==0)
  {
   CreateSmWindow("FIND",0,0,40,31,3,7);
   MoveCursorTo(2,2);
   cout<<"Haven't find the room/n";
  }
   
  else
   {
   
            cout<<"      ----------------------------/n";
         cout<<"      RoomNo:"<<array[i].chNo<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomType:"<<array[i].chType<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomFalg:"<<array[i].chFlag<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomPrice:"<<array[i].iPrice<<endl;
         cout<<"      ----------------------------/n";
  }
   choice();
  
}
inline void Modify ()
{
  int i=0;
     CreateSmWindow("MODIFY",0,0,40,31,3,7);
  MoveCursorTo(2,2);
  cout<<"Enter the room you want to modify:";
  char No[6];
  char Flag[12];
     cin>>No;
  while( i<total && strcmp(No,array[i].chNo)!=0)
   i++;
  if(i==total ||total==0)
  {
   CreateSmWindow("MODIFY",0,0,40,31,3,7);
   MoveCursorTo(2,2);
   cout<<"Haven't find the room/n";

   choice();
  }
 else
 {      char chNo[6];
           CreateSmWindow("",20,3,24,1,3,5);
           MoveCursorTo(22,4);
        cout<<"RoomNo:";    cin>>chNo;
     strcpy(array[i].chNo,chNo);
        CreateSmWindow("",20,6,24,1,3,5);
           MoveCursorTo(22,7);
     cout<<"Type(singleroom or doubleroom):";
           cin>>array[i].chType;
     CreateSmWindow("",20,9,24,1,3,5);
           MoveCursorTo(22,10);
     cout<<"Price:"; cin>>array[i].iPrice;
     CreateSmWindow("",20,12,24,1,3,5);
           MoveCursorTo(22,13);
     cout<<"Flag:"; cin>>Flag;
     strcpy(array[i].chFlag,Flag);
    
 }
 choice();
 
}
inline void fnExit ()
{
 CreateSmWindow("Qiut",0,0,40,31,3,7);
 MoveCursorTo(2,2);
 cout<<"Welcome To James Frain Hotal Next time!!";
 exit(0);
}
inline void choice()
{
     MoveCursorTo(46,20);
        cout<<"Enter any key to main face...../n";
  getch();
  fnFace();
}
inline void Settle()
{
    CreateSmWindow("SETTLE",0,0,40,31,3,7);
    MoveCursorTo(2,2);
 cout<<"Enter The room you want settle:";

 char chRoomNo[6];
    int i=0;
 
 cin>>chRoomNo;
    while(i<total && strcmp(chRoomNo,array[i].chNo)!=0)
  i++;
  if(i==total||total==0)
  {
   CreateSmWindow("Settle",0,0,40,31,3,7);
   MoveCursorTo(2,2);
   cout<<"Haven't find the room/n";
  }
  else
  {
      cout<<"      ----------------------------/n";
         cout<<"      RoomNo:"<<array[i].chNo<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomType:"<<array[i].chType<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomFalg:"<<array[i].chFlag<<endl;
         cout<<"      ----------------------------/n";
            cout<<"      RoomPrice:"<<array[i].iPrice<<endl;
         cout<<"      ----------------------------/n";
  }
     if(strcmp("Available",array[i].chNo)!=0)
  {
            

              MoveCursorTo(2,14);
     cout<<"The current time is:";
              time_t timep;
              time (&timep);
              printf("%s",ctime(&timep));

    
     t_end=time(NULL);
     MoveCursorTo(2,16);
     cout<<"The room you have stayed:"<<difftime(t_end,t_start);
     double All_price;
             
     MoveCursorTo(2,18);
     All_price=array[i].iPrice*(difftime(t_end,t_start)/(3600*24)+1);
     cout<<"you should pay:"<<All_price;
     strcpy(array[i].chFlag,"Available");

     choice();
  }
  else
  {
     CreateSmWindow("SETTLE",0,0,40,31,3,7);
     MoveCursorTo(2,2);
     cout<<"The room is available,change it please!";
     choice();
  }
}

原创粉丝点击