📄 manage.cpp
字号:
cout << endl;
if (tmpID.size() == 18) break;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "输入的身份证号码不是18位!请重新输入!\n\n";
}
customer tmpCustomer;
if (!myHotel.delCustomer(tmpID, tmpCustomer))
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "对不起,我们没有您的住宿信息\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请您查证您的身份证号码是否正确\n\n";
system("pause");
return 1;
}
system("cls");
for (i = 0; i < 5; i++)
cout << endl;
for (i = 0; i < 20; i++)
cout << ' ';
Time tmpTime = tmpCustomer.getArriveTime();
cout << "您好,您于";
tmpTime.display();
Time nowTime;
int liveDay = nowTime.subDay(tmpTime);
cout << "入住本酒店\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "您选择了等级 " << tmpCustomer.getGradeNumber() + 1
<< "的房间,房号为 " << tmpCustomer.getGradeNumber() + 1 << setw(3)
<< setfill('0') << tmpCustomer.getRoomNumber() + 1 << endl << endl;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "您一共在本店住宿 " << liveDay << "天\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "您的消费如下:\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "1. 住宿费 " << liveDay * myHotel.getGradeCost(tmpCustomer.getGradeNumber())
<< " RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "2. 电话费 " << "0 RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "3. 餐费 " << "0 RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "4. 商品费" << "0 RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "5. 其他费用" << "0 RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "总计: " << liveDay * myHotel.getGradeCost(tmpCustomer.getGradeNumber())
<< " RMB\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "***酒店再次感谢您的到来!\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "欢迎下次光临!\n";
system("pause");
return 0;
}
int manage::roomInfo()
{
int i;
while (1)
{
system("cls");
for (i = 0; i < 5; i++)
cout << endl;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "欢迎进入房间状态查询界面\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "1. 按具体房间号查询\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "2. 按房间等级查询入住情况\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "3. 返回上一层\n\n";
string tmpstr;
int tmpInput;
while (1)
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入您要进行的操作: ";
cin >> tmpstr;
cout << endl;
if (string2int(tmpstr, tmpInput) && tmpInput >= 1 && tmpInput <= 3)
break;
cout << "输入错误!\n\n";
}
string tmpRoomNum, tmpGrade;
int roomNum;
int gradeNum;
room tmpRoom;
switch (tmpInput)
{
case 1:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入四位房间号: ";
cin >> tmpRoomNum;
cout << endl;
if (tmpRoomNum.size() == 4 && string2int(tmpRoomNum, roomNum))
{
gradeNum = roomNum / 1000;
roomNum = roomNum % 1000;
gradeNum--;
roomNum--;
if (myHotel.findRoomNum(gradeNum, roomNum, tmpRoom))
{
tmpRoom.displayRoom();
}
else
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "输入的房号不存在!\n\n";
}
}
else
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "输入房号错误!\n\n";
}
break;
case 2:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入等级数: ";
cin >> tmpGrade;
if (string2int(tmpGrade, gradeNum) && gradeNum >= 1
&& gradeNum <= myHotel.getGradeNumber())
{
gradeNum--;
myHotel.displayGrade(gradeNum);
}
else
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "输入的等级错误!\n\n";
}
break;
case 3:
return 1;
break;
default:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "输入错误!\n";
}
system("pause");
}
return 0;
}
int manage::customerInfo()
{
int i;
while (1)
{
system("cls");
for (i = 0; i < 5; i++)
cout << endl;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "欢迎进入旅客信息查询界面\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "1. 根据旅客姓名查询\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "2. 根据旅客身份证查询\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "3. 返回上一层\n\n";
string tmpstr;
int tmpInput;
while (1)
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入您要进行的操作: ";
cin >> tmpstr;
cout << endl;
if (string2int(tmpstr, tmpInput) && tmpInput >= 1 && tmpInput <= 3)
break;
cout << "输入错误!\n\n";
}
string tmpName;
customer *ptrCustomer;
ptrCustomer = new customer[1000];
int customerNumber = 0;
string tmpID;
customer tmpCustomer;
int j;
switch (tmpInput)
{
case 1:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入姓名: ";
cin >> tmpName;
myHotel.nameFindCustomer(tmpName, ptrCustomer, customerNumber);
if (!customerNumber)
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "查找失败!\n\n";
}
else
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "已查找到" << customerNumber << "位旅客姓名为"
<< tmpName << "\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "旅客号 性别\t身份证号\t 房号 入住时间\n\n";
for (j = 0; j < customerNumber; j++)
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << j + 1 << ": ";
if (ptrCustomer[j].getCustomerSex() == MALE)
cout << "男 ";
else
cout << "女 ";
cout << ptrCustomer[j].getCustomerID();
cout << " " << ptrCustomer[j].getGradeNumber() + 1 << setfill('0')
<< setw(3) << ptrCustomer[i].getRoomNumber() + 1 << " ";
Time tmpTime = ptrCustomer[i].getArriveTime();
tmpTime.display();
cout << endl;
}
}
system("pause");
break;
case 2:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入身份证号码: ";
cin >> tmpID;
cout << endl;
if (myHotel.IDFindCustomer(tmpID, tmpCustomer))
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "查找成功!\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "已查找到身份证号为" << tmpID << "的顾客\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "姓名 性别 房号 入住时间\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << tmpCustomer.getCustomerName() << " ";
if (tmpCustomer.getCustomerSex() == MALE)
cout << "男 ";
else
cout << "女 ";
cout << " " << tmpCustomer.getGradeNumber() + 1 << setfill('0')
<< setw(3) << tmpCustomer.getRoomNumber() + 1 << " ";
Time tmpTime = tmpCustomer.getArriveTime();
tmpTime.display();
cout << endl << endl;
}
else
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "查找失败!\n";
}
system("pause");
break;
case 3:
return 1;
break;
default:
cout << "输入错误!\n\n";
}
}
return 0;
}
int manage::displayState()
{
int i;
while (1)
{
system("cls");
for (i = 0; i < 5; i++)
cout << endl;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "欢迎进入住宿查询界面\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "1. 旅客信息查询\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "2. 房间状态查询\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "3. 返回上一层\n\n";
string tmpstr;
int tmpInput;
while (1)
{
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入您要进行的操作: ";
cin >> tmpstr;
cout << endl;
if (string2int(tmpstr, tmpInput) && tmpInput >= 1 && tmpInput <= 3)
break;
cout << "输入错误\n\n";
}
switch (tmpInput)
{
case 1:
customerInfo();
break;
case 2:
roomInfo();
break;
case 3:
return 1;
default:
cout << "错误!\n\n";
}
}
return 0;
}
int manage::proscenium()
{
int i, cmd;
system("cls");
for (i = 0; i < 5; i++)
cout << endl;
for (i = 0; i < 20; i++)
cout << ' ';
cout << "1. 登记入住\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "2. 退房结算\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "3. 管理员登入\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "4. 查看入住情况\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "5. 退出程序\n\n";
for (i = 0; i < 20; i++)
cout << ' ';
cout << "请输入您要进行的操作: ";
string tmpstr;
cin >> tmpstr;
if (!string2int(tmpstr, cmd))
cmd = 6;
switch (cmd)
{
case 1:
addCustomer();
break;
case 2:
delCustomer();
break;
case 3:
managerLogin();
break;
case 4:
displayState();
break;
case 5:
state = STOPED;
break;
default:
for (i = 0; i < 20; i++)
cout << ' ';
cout << "错误指令!\n\n";
system("pause");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -