📄 graderoom.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 + -