⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graderoom.cpp

📁 此代码为数据结构课程设计代码
💻 CPP
字号:
#include "gradeRoom.h" 
#include <iostream> 
#include <fstream> 
using namespace std; 
void gradeRoom::setRoomNumber(int roomNum) 
{ 
	roomNumber = roomNum; 
	delete []ptrRoom; 
	ptrRoom = new room[roomNum]; 
	for (int i = 0; i < roomNum; i++) 
	{ 
		ptrRoom[i].setBedNumber(gradeBedNumber); 
		ptrRoom[i].setGrade(grade); 
		ptrRoom[i].setRoomNumber(i); 
	} 
} 
gradeRoom::gradeRoom(int Cost, int Grade, 
					 int roomNum, int GradeBedNum) 
{ 
	cost = Cost; 
	grade = Grade; 
	customerNumber = 0; 
	gradeBedNumber = GradeBedNum; 
	ptrRoom = new room[roomNum]; 
	setRoomNumber(roomNum); 
 } 
bool gradeRoom::addCustomer(customer newCustomer, room &tmpRoom) 
{ 
	int i; 
	for (i = 0; i < roomNumber; i++) 
	{ 
		if (ptrRoom[i].canLiveIn(newCustomer)) 
		{ 
			newCustomer.setRoomNumber(i); 
			newCustomer.setGradeNumber(grade); 
			ptrRoom[i].addCustomer(newCustomer); 
			tmpRoom = ptrRoom[i]; 
			customerNumber++; 
			return true; 
		} 
	} 
	return false; 
} 
bool gradeRoom::addCustomer(int tmpRoomNum, customer tmpCustomer) 
{ 
	if (ptrRoom[tmpRoomNum].addCustomer(tmpCustomer)) 
	{ 
		customerNumber++; 
		return true; 
	} 
	return false; 
} 
int gradeRoom::setRoom(int bedNum) 
{
	int i; 
	for (i = 0; i < roomNumber; i++) 
		ptrRoom[i].setBedNumber(bedNum); 
	return 0; 
} 
bool gradeRoom::IDFindCustomer(string tmpID, customer &tmpCustomer) 
{ 
	int i; 
	for (i = 0; i < roomNumber; i++) 
	{ 
		if (ptrRoom[i].IDFindCustomer(tmpID, tmpCustomer)) 
			return true; 
	} 
	return false; 
} 
bool gradeRoom::delCustomer(string tmpID,  customer &tmpCustomer) 
{ 
	int i; 
	for (i = 0; i < roomNumber; i++) 
	{ 
		if (ptrRoom[i].delCustomer(tmpID, tmpCustomer)) 
			return true; 
	} 
	return false; 
} 
bool gradeRoom::nameFindCustomer(string tmpName, customer *ptrCustomer, 
								 int &customerNum) 
{ 
	int i; 
	bool res = false; 
	for (i = 0; i < roomNumber; i++) 
	{ 
		if (ptrRoom[i].nameFindCustomer(tmpName, ptrCustomer, customerNum)) 
			res = true; 
	} 
	return res; 
} 
bool gradeRoom::findRoomNum(int tmpRoomNum, room &tmpRoom) 
{ 
	if (tmpRoomNum < 0 || tmpRoomNum >= roomNumber) return false; 
	tmpRoom = ptrRoom[tmpRoomNum]; 
	return true; 
} 
void gradeRoom::display() 
{ 
	int i, j; 
	for (i = 0; i < 20; i++) 
		cout << ' '; 
	cout << "房间等级为 " << grade + 1<< "的所有房间状态为:\n\n"; 
	for (i = 0; i < 20; i++) 
		cout << ' '; 
	cout << "房间等级为 " << grade + 1<< "的房间共有床位: " 
		 << gradeBedNumber * roomNumber << " 共有房客: " << customerNumber
		 << "位 \n\n"; 
	for (j = 0; j < roomNumber; j++) 
	{ 
		for (i = 0; i < 20; i++) 
			cout << ' '; 
		cout << "房号为 " << (ptrRoom[j].getGrade() + 1) * 1000 
			 + ptrRoom[j].getRoomNumber() + 1 << "的房间住宿情况如下:\n\n"; 
		for (i = 0; i < 20; i++) 
			cout << ' '; 
		cout << "此房间, 共有床位 " << ptrRoom[j].getBedNumber() 
			<< "张. 已有房客" << ptrRoom[j].getCustomerNumber() << "位\n\n"; 
	} 
} 
void gradeRoom::outToFile(fstream &fp1) 
{ 
	int j; 
	for (j = 0; j < roomNumber; j++) 
		ptrRoom[j].outToFile(fp1); 
	
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -