#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();
}
}