亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hotel.cpp

?? 命令行模式下的簡單賓館管理系統..各種基本功能齊全..屬于新人練習作品..hotel manager..
?? CPP
字號:
/*
 * File: hotel.cpp
 * --------------
 * This file implements the hotel.h interface. 
 */


#include "hotel.h"

/* Package variables */
AccountManage accountManage;
RoomManage roomManage;


/* Implementation */

void InitAccount(const char *fileName, AccountManage *account)		//
{
	ifstream fin;
	fin.open(fileName,ios::in);
	if (fin == NULL) {
		Error("Account Data File Not Found~");
		cout<<"Now Creating a new data file.."<<endl;
		OutAccount(fileName,account);
	}
	else {
		account->ReadFromFile(&fin);
		fin.close();
		cout<<"Read Account Data Success~"<<endl;
	}
	return ;
}

void InitRoom(const char *fileName, RoomManage *room)		//
{
	ifstream fin;
	fin.open(fileName,ios::in);
	if (fin == NULL) {
		Error("Room Data File Not Found~");
		cout<<"Now Creating a new data file.."<<endl;
		OutRoom(fileName,room);
	}
	else {
		room->ReadFromFile(&fin);
		fin.close();
		cout<<"Read Room Data Success~"<<endl;
	}
	return ;
}

void OutAccount(const char *fileName, AccountManage *account)
{
	ofstream fout;
	fout.open(fileName,ios::out);
	account->WriteToFile(&fout);
	fout.close();
	cout<<"Write Account Data Success~"<<endl;
	return ;
}

void OutRoom(const char *fileName, RoomManage *room)
{
	ofstream fout;
	fout.open(fileName,ios::out);
	room->WriteToFile(&fout);
	fout.close();
	cout<<"Write Room Data Success~"<<endl;
	return ;
}

void SetAccountRoomList(AccountManage *accManage, RoomManage *roomManage)
{
	struct AllAccountList *p;
	struct AccRoomNumList *t;
	p=accManage->GetAllAccountList()->next;
	while (p != NULL ){
		t=p->curAccount->GetAccRoomNumList()->next;
		while (t != NULL){
			p->curAccount->AddRoom(roomManage->GetRoom(t->roomNum));
			t=t->next;
		}
		p=p->next;
	}
	return;
}

void CheckIn(AccountManage *accManage, RoomManage *roomManage)
{
	//char com='y';
	//int t1;
	string t2;
	Account *curAcc;
	Room *curRoom;
	cout<<"===========Start CheckIn==========="<<endl;
	cout<<"Do you have an Account?(y/n)";
	char com=GetYesNo();
	if (com == 'n'){
		cout<<"Now..to Create a New Account:"<<endl;
		curAcc=NewAccount(accManage->GetNumOfAccounts());
		if ( curAcc == NULL ) {Error("Faild to Create an Account~");return ;}
		accManage->AddAccount(curAcc);
	}
	if (com == 'y'){
		curAcc=FindAccount(accManage);
		if (curAcc == NULL) {Error("Not Found this Account~");return ;}
	}
	cout<<"Account Confirmed~ "<<endl<<endl;
	PrintStateRoom(roomManage,CLEAN);
	cout<<"Which one to choose?(Input the RoomNum) :";
	curRoom=roomManage->GetRoom(GetInt());
	if (curRoom == NULL) {Error("Failed to select this Room~");return ;}
	cout<<"Please input the Dealed Price :";
	curRoom->SetRoomState(INUSE);
	curRoom->SetDealPrice(GetInt());
	curRoom->SetCustomerID(curAcc->GetID());
	//set start date and time//clear
	curTime=time(NULL);
	tm *pt=localtime(&curTime);
	curRoom->SetStartTime(pt->tm_sec,pt->tm_min,pt->tm_hour);
	curRoom->SetStartDate(pt->tm_mday,pt->tm_mon+1,pt->tm_year);
	curRoom->SetCustomerName(curAcc->GetName());
	curAcc->AddRoom(curRoom);
	//if (roomManage->GetGuest(curAcc) == NULL) roomManage->AddGuest(curAcc);
	cout<<"===========Success~=========="<<endl;
	return ;
}

void CheckOut(AccountManage *accManage, RoomManage *roomManage)
{
	int t1;
	Room *curRoom;
	Account *curAcc;
	cout<<"=============Start CheckOut============"<<endl;
	cout<<"Please inout your RoomNum:";
	curRoom=roomManage->GetRoom(GetInt());
	if (curRoom == NULL || curRoom->GetRoomState() != INUSE) {Error("Not Found this Room~");return;}
	curAcc=accManage->GetAccount(curRoom->GetCustomerID(),curRoom->GetRoomCustomerName(),"",0);
	if (curAcc == NULL) {Error("Failed to find this customer~");return ;}
	//add count the expences//clear
	t1=curAcc->CheckExpences(curRoom);
	curAcc->SetPreExpences(curAcc->GetPreExpences() - t1);
	curAcc->SetCurExpences(curAcc->GetCurExpences() - t1);
	curAcc->DeleteRoom(curRoom);
	curRoom->SetRoomState(NEEDCLEAR);
	curRoom->SetDealPrice(0);
	if (curAcc->GetNumOfRooms() == 0) {
		//roomManage->DeleteGuest(curAcc);
		curAcc->SetPreExpences(curAcc->GetPreExpences() - curAcc->GetCurExpences());
		curAcc->SetCurExpences(0);
	}
	cout<<"This room cost "<<t1<<" yuan."<<endl<<"This account has "<<curAcc->GetPreExpences()<<" yuan left."<<endl;
	if (curAcc->GetNotEnoughExpences()) cout<<"This Account Doesn't Have Enough Remaining Sum..Please.."<<endl; 
	cout<<"==============Success~================="<<endl;
	return ;
}

Account *FindAccount( AccountManage *accManage )
{
	int tt;
	cout<<"Please input the Account ID :";
	tt=GetInt();
	cout<<"Please input the Account Name :";
	return (accManage->GetAccount(tt,GetString(),"",0));
}
void AddFee( AccountManage *accManage )
{
	Account *curAcc;
	int t1;
	cout<<"==============Start AddFee=========="<<endl;
	curAcc=FindAccount(accManage);
	if (curAcc == NULL) {Error("Not Found this Account~");return;} 
	char com='n';
	while(com == 'n'){
		cout<<"Please input How Much to Add~:";
		t1=GetInt();
		cout<<curAcc->GetName()<<" will add "<<t1<<" yuan.Is it Correct?(y/n):";
		com=GetYesNo();
	}
	curAcc->SetPreExpences(t1+curAcc->GetPreExpences());
	curAcc->SetScore(t1+curAcc->GetScore());
	cout<<"===============Success~============="<<endl;
	return ;
}
 
void PrintStateRoom( RoomManage *roomManage, RoomState state )
{
	switch (state)
	{
		case CLEAN:cout<<"The Available Room List :"<<endl;break;
		case INUSE:cout<<"The InUse Room List :"<<endl;break;
		case NEEDFIX:cout<<"The NeedFix Room List :"<<endl;break;
		case NEEDCLEAR:cout<<"The NeedClear Room List :"<<endl;break;
		default :break;
	}
	roomManage->PrintRoomStateList(state);
	return ;
}

void PrintRoomInfo( RoomManage *roomManage )
{
	int t1;
	cout<<"Please input the RoomNum:";
	cin>>t1;
	Room *curRoom=roomManage->GetRoom(t1);
	if (curRoom == NULL) {Error("Not Found this Room~");return;}
	curRoom->PrintInfo();
	return ;
}

void PrintAllRoom( RoomManage *roomManage )
{
	cout<<"The All Room List :"<<endl;
	roomManage->PrintRoomList();
	cout<<"-EOF-"<<endl;
	return ;
}

void PrintAccountInfo( AccountManage *accManage )
{
	Account *curAccount=FindAccount(accManage);
	if (curAccount == NULL) {Error("Not Found this Account~");return ;}
	curAccount->PrintInfo();
	return ;
}

void PrintGuestInHotel( AccountManage *accManage )
{
	cout<<"The Guest In Hotel List :"<<endl;
	accManage->PrintAccountList(1);
	cout<<"-EOF-"<<endl;
	return;
}

void PrintAllAccount( AccountManage *accManage )
{
	cout<<"The All Account List :"<<endl;
	accManage->PrintAccountList(0);
	cout<<"-EOF-"<<endl;
	return;
}

void PrintNotEnoughAccount( AccountManage *accManage )
{
	cout<<"The Not Enough Money Account List :"<<endl;
	struct AllAccountList *p;
	p=accManage->GetAllAccountList()->next;
	while (p != NULL){
		if(p->curAccount->GetNotEnoughExpences()) p->curAccount->PrintInfoBrief();
		p=p->next;
	}
	cout<<"-EOF-"<<endl;
	cout<<"Please remind .."<<endl;
	return ;
}

void ChangeRoomState( RoomManage *roomManage )
{
	int t1,t2;
	cout<<"============Start Change==========="<<endl;
	cout<<"Please input the RoomNum :";
	t1=GetInt();
	cout<<"Please input the RoomState :"<<endl;
	cout<<"(1-Clean 2-InUse 3-NeedFix 4-NeedClean) :";
	t2=GetInt();
	while(t2 < 1 || t2 > 4) {
		cout<<"Input must be '1' or '2' or '3' or '4' :";
		t2=GetInt();
	}
	roomManage->GetRoom(t1)->SetRoomState(RoomState(t2-1));
	cout<<"==============Success=============="<<endl;
	return ;
}

void AddAccount( AccountManage *accManage )
{
	cout<<"==============Start==========="<<endl;
	Account *p=NewAccount(accManage->GetNumOfAccounts());
	if (p == NULL) {Error("");return ;}
	accManage->AddAccount(p);
	cout<<"==============End=============="<<endl;
	return;
}

void AddRoom( RoomManage *roomManage )
{
	cout<<"==============Start============"<<endl;
	Room *p=NewRoom();
	if (p == NULL) {Error("");return ;}
	roomManage->AddRoom(p);
	cout<<"==============End=============="<<endl;
	return ;
}

void DeleteAccount( AccountManage *accManage )
{
	cout<<"=============start=============="<<endl;
	Account *curAcc=FindAccount(accManage);
	if (curAcc == NULL) {Error("Not Found This Account~");return ;}
	curAcc->PrintInfo();
	cout<<"Do you want to Delete it ?(y/n):";
	char com=GetYesNo();
	if (com == 'y') {
		accManage->DeleteAccount(curAcc);
		cout<<"Delete Success~"<<endl;
	}
	cout<<"==============end==============="<<endl;
	return ;
}

void DeleteRoom( RoomManage *roomManage )
{
	int num;
	cout<<"=============start=============="<<endl;
	cout<<"Please input the Room Num :";
	cin>>num;
	Room *curRoom=roomManage->GetRoom(num);
	if (curRoom == NULL) {Error("Not Found This Room~");return;}
	cout<<"Do you want to Delete it ?(y/n):";
	char com=GetYesNo();
	if (com == 'y'){
		roomManage->DeleteRoom(curRoom);
		cout<<"Delete Success~"<<endl;
	}
	cout<<"==============end==============="<<endl;
	return ;
}


void ClearAccountManageInfo( AccountManage *accManage )
{
	accManage->CleanAllAccount();
	return ;
}

void ClearRoomManageInfo( RoomManage *roomManage )
{
	roomManage->CleanAllRoom();
	return ;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品在线免费| 91精品国产免费| 中文字幕高清不卡| 不卡区在线中文字幕| 国产精品久久夜| 91看片淫黄大片一级在线观看| 中文字幕日韩精品一区| 欧美视频中文一区二区三区在线观看| 一区二区不卡在线播放| 欧美一级黄色大片| a级高清视频欧美日韩| 青草av.久久免费一区| 日本一区二区在线不卡| 717成人午夜免费福利电影| 欧美日韩精品电影| 91在线视频观看| 韩国一区二区视频| 夜色激情一区二区| 舔着乳尖日韩一区| 国产精品国产三级国产普通话99| 中文字幕在线一区二区三区| 中文字幕一区二区三区不卡| 一区二区三区中文在线观看| 午夜免费久久看| 国产精品资源站在线| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久久99精品免费观看不卡| 在线观看三级视频欧美| 国产成人精品三级麻豆| 免费av网站大全久久| 国产成人aaaa| 国产成人99久久亚洲综合精品| 91丨国产丨九色丨pron| 欧美一区二区女人| 亚洲欧洲日韩综合一区二区| 视频一区欧美精品| 天天色天天操综合| 国产91清纯白嫩初高中在线观看| 日本高清不卡一区| 在线欧美日韩国产| 国产校园另类小说区| 香蕉久久夜色精品国产使用方法 | 欧美变态tickle挠乳网站| 日本久久一区二区三区| 日韩精品一区二区三区四区视频 | 国产精品国产三级国产有无不卡 | 综合在线观看色| 18成人在线观看| 久久成人免费网| 国产成人免费在线观看不卡| 欧洲激情一区二区| 国产精品三级电影| 一区二区三区在线视频免费| 蜜臀av国产精品久久久久 | 欧美电影免费提供在线观看| 亚洲美女在线一区| 香港成人在线视频| 91亚洲精品乱码久久久久久蜜桃| 精品成人a区在线观看| 久久美女艺术照精彩视频福利播放| 久久综合狠狠综合久久综合88| 欧美精品一区二| 日韩激情一二三区| 欧美日韩亚洲综合在线| 制服丝袜中文字幕亚洲| 亚洲视频在线观看三级| 国产99精品国产| 久久综合99re88久久爱| 久久99国产精品久久| 91色.com| 中文字幕一区二区不卡| 国产精品夜夜爽| 国产亚洲欧美色| 国产成人久久精品77777最新版本| 日韩精品一区国产麻豆| 国内精品免费在线观看| 欧美变态tickle挠乳网站| 国产一区二区在线影院| 91黄色小视频| 一区二区三区日韩欧美| 欧美曰成人黄网| 亚洲h精品动漫在线观看| 欧美精品免费视频| 国产精品精品国产色婷婷| www.亚洲色图.com| 亚洲女同ⅹxx女同tv| 欧亚洲嫩模精品一区三区| 一区二区三区在线观看视频| 色www精品视频在线观看| 天天操天天综合网| 精品国产一区二区三区不卡| 国产一区二区中文字幕| ...av二区三区久久精品| 日本电影欧美片| 蜜臀久久99精品久久久画质超高清| 欧美sm美女调教| 99精品视频中文字幕| 一区二区三区四区亚洲| 欧美精品久久天天躁| 国产一区二区三区在线观看免费| 国产精品国产自产拍在线| 欧美日本一区二区三区| 国产曰批免费观看久久久| 亚洲欧美日韩在线| 91精品国产aⅴ一区二区| 国产成人鲁色资源国产91色综 | 欧美激情一区二区三区蜜桃视频| 91在线视频观看| 久久99精品一区二区三区| 国产精品素人视频| 欧美挠脚心视频网站| 国产一区二区三区观看| 艳妇臀荡乳欲伦亚洲一区| 日韩欧美国产系列| 欧美综合视频在线观看| 国产主播一区二区| 亚洲午夜av在线| 色婷婷av一区二区三区gif| 国产精品久久久久永久免费观看| 欧美性生活一区| 国产一区二区三区免费看| 午夜精品一区二区三区三上悠亚| 国产亚洲欧洲一区高清在线观看| 欧美高清www午色夜在线视频| 粉嫩久久99精品久久久久久夜| 五月激情综合色| 亚洲视频网在线直播| 国产亚洲综合色| 日韩精品中文字幕在线不卡尤物| 欧日韩精品视频| 91免费版在线| 成人av在线网站| 国产精品一级在线| 国产尤物一区二区在线| 免费高清成人在线| 青青草原综合久久大伊人精品 | 制服丝袜国产精品| 91福利国产精品| 日本久久电影网| 色综合天天综合网国产成人综合天 | 91精品国产aⅴ一区二区| 欧洲精品中文字幕| 在线亚洲+欧美+日本专区| 91在线一区二区三区| 91麻豆免费观看| 在线亚洲一区二区| 色综合一个色综合亚洲| 99re这里只有精品视频首页| 成人精品国产福利| av资源站一区| gogogo免费视频观看亚洲一| 成人h动漫精品| 色琪琪一区二区三区亚洲区| 色偷偷久久一区二区三区| 一本久久a久久精品亚洲| 91啪在线观看| 欧美午夜精品一区| 欧美福利一区二区| 欧美一区二区三区啪啪| 精品国产一区二区三区久久久蜜月| 91精品国产黑色紧身裤美女| 日韩三区在线观看| 久久亚洲影视婷婷| 亚洲国产精品成人综合| 亚洲天堂2014| 亚洲成年人影院| 麻豆精品国产91久久久久久| 国产伦精品一区二区三区视频青涩| 狠狠久久亚洲欧美| www.日本不卡| 欧美日韩一二三| 久久精品人人爽人人爽| 亚洲欧洲成人av每日更新| 亚洲在线视频免费观看| 久久久99精品久久| 日韩美女视频一区二区 | 国产精品福利一区二区三区| 中文字幕在线观看不卡视频| 一区二区三区精品久久久| 日一区二区三区| 国产999精品久久久久久绿帽| 色综合天天综合色综合av| 欧美一卡二卡在线观看| 国产精品污www在线观看| 一区二区三区国产精华| 韩国女主播一区二区三区| 波多野结衣在线一区| 欧美美女喷水视频| 欧美激情在线观看视频免费| 亚洲一区二区三区免费视频| 国产在线精品免费av| 欧美在线观看视频一区二区| 精品美女在线观看| 亚洲动漫第一页| 成人永久看片免费视频天堂| 国产精品一区久久久久| 欧洲人成人精品| 中文字幕在线播放不卡一区| 日韩成人av影视| 老司机午夜精品99久久|