#include<iostream>
#include<string>
#include<fstream>
using namespace std;
class Customer
{
public:
string name;
string ID;
double money;
int StayTime;
Customer(){};
};
class HolterRoom:public Customer
{
public:
int num;
double Price;
string Type;
HolterRoom()
{
num=0;
Price=0;
money=0;
StayTime=0;
Type="null";
name="无";
ID="0";
}
~HolterRoom(){}
};
ofstream Str("Room.txt",ios_base::trunc);
ofstream C("Room.txt",ios_base::trunc);
void menu();
void set_HolterRoom_info(HolterRoom *Room); //1.客房信息录入
void add_HolterRoom_info(HolterRoom *Room); // 添加客房信息
void Save_HolterRoom_info(HolterRoom *Room); // 保存客房信息
void set_Customer_info(HolterRoom *Room); //2.客人入住登记
void Save_Customer_info(HolterRoom *Room); // 保存客人信息
void Change_HolterRoom_info(HolterRoom *Room); //3.客人信息修改
void SetCount(HolterRoom *Room); //4.客人退房结算
void PrintAll(HolterRoom *Room); //5.查询所有客房信息
void Find_choose(HolterRoom *Room); //6.查询选择界面
void find_HolterRoomByNum(HolterRoom *Room); // 通过房间号查找
void find_HolterRoomByName(HolterRoom *Room); // 通过姓 名查找
void find_HolterRoomByType(HolterRoom *Room); // 通过姓 名查找
void Delete_HolterRoom(HolterRoom *Room); //7.删除客房信息
void Display_HolterRoom_info(HolterRoom *Room);
void Wirte(HolterRoom *Room);
void Read(HolterRoom *Room);
void Save_HolterRoom_info(HolterRoom *Room) // 保存客房信息
{
for(int i=0;i<30;i++)
{
if(Room[i].num!=0)
{
Str<<"房间号码:"<<Room[i].num<<endl;
Str<<"房间类型:"<<Room[i].Type<<endl;
Str<<"房间价格:"<<Room[i].Price<<endl;
}
}
}
void Save_Customer_info(HolterRoom *Room)
{
for(int i=0;i<30;i++)
{
if(Room[i].num!=0&&Room[i].name!="无")
{
C<<"房间类型:"<<Room[i].Type<<endl;
C<<"房间价格:"<<Room[i].Price<<endl;
C<<"客户身份证号码:"<<Room[i].ID<<endl;
C<<"客户姓名:"<<Room[i].name<<endl;
C<<"定金:"<<Room[i].money<<endl;
C<<"入住天数:"<<Room[i].StayTime<<"天"<<endl;
}
}
}
void Display_HolterRoom_info(HolterRoom *Room)
{
int t=0;
for(int i=0;i<30;i++)
{
if(Room[i].StayTime==0&&Room[i].num!=0)
{
cout<<"房间号码:"<<Room[i].num<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
t++;
}
else if(t==0&&i==29)
cout<<"暂无空房!"<<endl;
}
}
void set_HolterRoom_info(HolterRoom *Room) //1.客房信息录入
{
if(Room[0].num==0)
{
int size;
cout<<"暂无房间信息,请添加!\n";
int Number=101;
cout<<"请输入要添加的房间数目:";
cin>>size;
for(int i=0;i<size;i++)
{
Room[i].num=Number++;
cout<<"\n房间号码:"<<Room[i].num;
cout<<"\n房间类型:";
cin>>Room[i].Type;
cout<<"房间价格:";
cin>>Room[i].Price;
cout<<endl<<endl;
}
cout<<"客房信息录入成功!\n";
}
else
{
string P;
cout<<"客房信息已有;\n";
cout<<"是否要添加客房信息[Y(是)/N(否)]???"<<endl;
cin>>P;
if(P=="Y")
add_HolterRoom_info(Room);
else if(P=="N")
cout<<"添加客房信息已取消!\n";
else
cout<<"输入错误!\n";
}
system("pause");
system("cls");
}
void add_HolterRoom_info(HolterRoom *Room) //添加客房信息
{
int Number=101;
string P;
do
{
for(int i=0;i<30;i++)
{
if(Room[i].num==0)
{
Room[i].num=Number++;
cout<<"房间号码:"<<Room[i].num;
cout<<"\n房间类型:";cin>>Room[i].Type;
cout<<"\n房间价格:";cin>>Room[i].Price;
cout<<"\n\n房间添加成功,是否继续添加?(Y/N):::";
cin>>P;break;
}
else
Number++;
}
}while(P=="Y");
if(P=="N")
{
cout<<"\n已取消添加.\n";
}
else
cout<<"\n输入有误!请重新输入.\n";
}
void set_Customer_info(HolterRoom *Room) //2.客人入住登记
{
int Num;
int t;
cout<<"输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if((Num==Room[i].num)&&(Room[i].StayTime==0))
{
cout<<endl;
cout<<"房间已找到!\n";
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"请输入客户信息:\n";
cout<<"是否要订房?(Y/N)\n";
string p;
cin>>p;
if(p=="Y")
{
cout<<"客户身份证号码:";
cin>>Room[i].ID;
cout<<"客户姓名:";
cin>>Room[i].name;
cout<<"定金:";
cin>>Room[i].money;
cout<<"入住天数:";
cin>>Room[i].StayTime;
cout<<"天"<<endl;
cout<<"信息录入成功!"<<endl;
}
else if(p=="N")
cout<<"订房取消!\n";
else
cout<<"输入错误!"<<endl;
t++;
}
else if(Num==Room[i].num&&Room[i].StayTime!=0)
{
cout<<"此房间已住"<<endl;
t++;
}
else if(t==0&&i==29)
cout<<"查无此房!"<<endl;
}
system("pause");
system("cls");
}
void Change_HolterRoom_info(HolterRoom *Room) //3.客人信息修改
{
int Num;
cout<<"请输入要修改的房间号码:";
cin>>Num;
string _name;
string _ID;
int _money;
int _StayTime;
string _Price;
string _Type;
int t=0;
for(int i=0;i<30;i++)
{
if(Num==Room[i].num)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"将于"<<Room[i].StayTime<<"天后退房"<<endl;
cout<<"房间已找到!\n";
cout<<"是否修改房间信息?(Y/N)"<<endl;
string p;
cin>>p;
if(p=="Y")
{
cout<<"客户姓名:"; cin>>_name; Room[i].name=_name;
cout<<"客户身份证号码:";cin>>_ID ;Room[i].ID=_ID;
cout<<"定金:";cin>>_money;Room[i].money=_money;
cout<<"退房时间将延长至:";cin>>_StayTime;cout<<"天后"<<endl;
Room[i].StayTime=_StayTime;
Save_Customer_info(Room);
cout<<"修改成功!"<<endl;
}
else if(p=="N")
cout<<"已取消修改!"<<endl;
else
cout<<"输入有误!"<<endl;
t++;
}
else if(t==0&&i==29&&Room[i].Type=="null")
cout<<"查无此房!"<<endl;
}
system("pause");
system("cls");
}
void SetCount(HolterRoom *Room) //4.客人退房结算
{
int Num;
int t=0;
cout<<"请输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if(Num=Room[i].num&&Room[i].StayTime!=0)
{
string B;
cout<<"房间已找到!"<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户信息:::"<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"入住天数:"<<Room[i].StayTime<<"天"<<endl;
cout<<"请确认是否要退房(Y/N):";
cin>>B;
if(B=="Y")
{
Room[i].ID="0";
Room[i].name="无";
Room[i].money=0;
Room[i].StayTime=0;
cout<<"退房成功!"<<endl;
}
else if(B=="N")
cout<<"已取消退房!"<<endl;
else
cout<<"输入有误!"<<endl;
t++;
}
else if(Num==Room[i].num&&Room[i].StayTime)
{
cout<<"此房为空房!"<<endl;
t++;
break;
}
else
cout<<"查无此房!"<<endl;
break;
}
system("pause");
system("cls");
}
void PrintAll(HolterRoom *Room) //5.查询所有客房信息
{
int t=0;
for(int i=0;i<30;i++)
{
if(Room[i].Type!="null")
{
cout<<"房间号码:"<<Room[i].num<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户定金:"<<Room[i].money<<endl;
cout<<"此客户将于"<<Room[i].StayTime<<"天后退房!\n\n\n"<<endl;
t++;
}
if(t==0&&i==29)
cout<<"暂无任何客房信息!"<<endl;
}
system("pause");
system("cls");
}
void find_HolterRoomByNum(HolterRoom *Room) // 通过房间号查找
{
int Num;
int t=0;
cout<<"输入要查找的房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if(Num==Room[i].num&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(Num==Room[i].num&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29&&Room[i].Type=="null");
{
cout<<"查无此房!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void find_HolterRoomByName(HolterRoom *Room) // 通过姓 名查找
{
string Name;
int t=0;
cout<<"输入要查找的客户姓名:";
cin>>Name;
for(int i=0;i<30;i++)
{
if(Name==Room[i].name&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(Name==Room[i].name&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29);
{
cout<<"查不到此客户!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void find_HolterRoomByType(HolterRoom *Room) // 通过房间类型查找
{
string type;
int t=0;
cout<<"输入要查找的房间类型:";
cin>>type;
for(int i=0;i<30;i++)
{
if(type==Room[i].Type&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(type==Room[i].Type&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29);
{
cout<<"暂无此类房间!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void Delete_HolterRoom(HolterRoom *Room) //7.删除客房信息
{
int Num;
cout<<"请输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
if(Room[i].num==Num)
{
string B;
cout<<"房间已经找到:::"<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户信息:::"<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"\n请确认要删除此客房信息?(Y/N)";
cin>>B;
if(B=="Y")
{
Room[i].Type="null";
Room[i].num=0;
Room[i].Price=0;
Room[i].money=0;
Room[i].StayTime=0;
Room[i].name="0";
Room[i].ID="0";
cout<<"删除成功!"<<endl;
}
else if(B=="N")
cout<<"已取消删除!"<<endl;
else
cout<<"输入错误!"<<endl;
}
system("pause");
system("cls");
}
void Wirte(HolterRoom *Room)
{
fstream file("Room.txt",ios::out); //文件以输出方式打开(内存数据输出到文件)
for(int i=0;i<30;i++)
{
if(Room[i].Type!="null")
{
file.write((char *)&Room[i],sizeof(Room[i]));
file.close();
}
}
}
void Read(HolterRoom *Room)
{
int top;
HolterRoom b;
top=-1;
fstream file("Room.txt",ios::in); //文件以输入方式打开(文件数据输入到内存)
while(1)
{
file.read((char *)&b,sizeof(b));
if(!file)
break;
top++;
Room[top]=b;
}
file.close();
}
void main()
{
HolterRoom Room[200];
Read(Room);
char ch;
do
{
menu();
cout<<"请输入将要执行的命令编号: ";
cin>>ch;
switch(ch)
{
case '1':
system("cls");
set_HolterRoom_info(Room);
break;
case '2':
set_Customer_info(Room);
break;
case '3':
Change_HolterRoom_info(Room);
break;
case '4':
SetCount(Room);
break;
case '5':
PrintAll(Room);
break;
case '6':
system("cls");
Find_choose(Room);
cout<<"请输入将要执行的命令编号: ";
cin>>ch;
switch(ch)
{
case '1':
find_HolterRoomByNum(Room);
break;
case '2':
find_HolterRoomByName(Room);
break;
case '3':
find_HolterRoomByType(Room);
break;
case '4':
system("cls");
break;
default:cout<<"您的输入有误!"<<endl;
}
break;
case '7':
Delete_HolterRoom(Room);
break;
case 'q':
Wirte(Room);
Save_HolterRoom_info(Room);
Save_Customer_info(Room);
break;
default:cout<<"您的输入有误!"<<endl;
}
}while(ch!='q');
system("pause");
}
void menu() //主菜单函数
{
cout<<"\t\t 欢迎使用南阳宾馆管理系统 "<<endl;
cout<<"\t\t-----------------------------"<<endl<<endl;
cout<<"\t\t\t1.客房信息录入 \n"<<endl;
cout<<"\t\t\t2.客人入住登记 \n"<<endl;
cout<<"\t\t\t3.客人信息修改 \n"<<endl;
cout<<"\t\t\t4.客人退房结算 \n"<<endl;
cout<<"\t\t\t5.查询所有客房信息 \n"<<endl;
cout<<"\t\t\t6.查询选择界面 \n"<<endl;
cout<<"\t\t\t7.删除客房信息 \n"<<endl;
cout<<"\t\t\tq.退出系统 \n"<<endl;
}
void Find_choose(HolterRoom *Room)
{
cout<<"\t\t 欢迎使用南阳宾馆管理系统\n"<<endl;
cout<<"\t\t-----------------------------"<<endl;
cout<<"\t\t 查询界面 "<<endl;
cout<<"\t\t-----------------------------"<<endl;
cout<<"\n\n";
cout<<"\t\t 1.通过 房间号 查询客房 \n"<<endl;
cout<<"\t\t 2.通过 姓 名 查询客房 \n"<<endl;
cout<<"\t\t 3.通过 房间类型 查询客房\n"<<endl;
cout<<"\t\t 4.返回上一级菜单 \n"<<endl;
}
#include<string>
#include<fstream>
using namespace std;
class Customer
{
public:
string name;
string ID;
double money;
int StayTime;
Customer(){};
};
class HolterRoom:public Customer
{
public:
int num;
double Price;
string Type;
HolterRoom()
{
num=0;
Price=0;
money=0;
StayTime=0;
Type="null";
name="无";
ID="0";
}
~HolterRoom(){}
};
ofstream Str("Room.txt",ios_base::trunc);
ofstream C("Room.txt",ios_base::trunc);
void menu();
void set_HolterRoom_info(HolterRoom *Room); //1.客房信息录入
void add_HolterRoom_info(HolterRoom *Room); // 添加客房信息
void Save_HolterRoom_info(HolterRoom *Room); // 保存客房信息
void set_Customer_info(HolterRoom *Room); //2.客人入住登记
void Save_Customer_info(HolterRoom *Room); // 保存客人信息
void Change_HolterRoom_info(HolterRoom *Room); //3.客人信息修改
void SetCount(HolterRoom *Room); //4.客人退房结算
void PrintAll(HolterRoom *Room); //5.查询所有客房信息
void Find_choose(HolterRoom *Room); //6.查询选择界面
void find_HolterRoomByNum(HolterRoom *Room); // 通过房间号查找
void find_HolterRoomByName(HolterRoom *Room); // 通过姓 名查找
void find_HolterRoomByType(HolterRoom *Room); // 通过姓 名查找
void Delete_HolterRoom(HolterRoom *Room); //7.删除客房信息
void Display_HolterRoom_info(HolterRoom *Room);
void Wirte(HolterRoom *Room);
void Read(HolterRoom *Room);
void Save_HolterRoom_info(HolterRoom *Room) // 保存客房信息
{
for(int i=0;i<30;i++)
{
if(Room[i].num!=0)
{
Str<<"房间号码:"<<Room[i].num<<endl;
Str<<"房间类型:"<<Room[i].Type<<endl;
Str<<"房间价格:"<<Room[i].Price<<endl;
}
}
}
void Save_Customer_info(HolterRoom *Room)
{
for(int i=0;i<30;i++)
{
if(Room[i].num!=0&&Room[i].name!="无")
{
C<<"房间类型:"<<Room[i].Type<<endl;
C<<"房间价格:"<<Room[i].Price<<endl;
C<<"客户身份证号码:"<<Room[i].ID<<endl;
C<<"客户姓名:"<<Room[i].name<<endl;
C<<"定金:"<<Room[i].money<<endl;
C<<"入住天数:"<<Room[i].StayTime<<"天"<<endl;
}
}
}
void Display_HolterRoom_info(HolterRoom *Room)
{
int t=0;
for(int i=0;i<30;i++)
{
if(Room[i].StayTime==0&&Room[i].num!=0)
{
cout<<"房间号码:"<<Room[i].num<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
t++;
}
else if(t==0&&i==29)
cout<<"暂无空房!"<<endl;
}
}
void set_HolterRoom_info(HolterRoom *Room) //1.客房信息录入
{
if(Room[0].num==0)
{
int size;
cout<<"暂无房间信息,请添加!\n";
int Number=101;
cout<<"请输入要添加的房间数目:";
cin>>size;
for(int i=0;i<size;i++)
{
Room[i].num=Number++;
cout<<"\n房间号码:"<<Room[i].num;
cout<<"\n房间类型:";
cin>>Room[i].Type;
cout<<"房间价格:";
cin>>Room[i].Price;
cout<<endl<<endl;
}
cout<<"客房信息录入成功!\n";
}
else
{
string P;
cout<<"客房信息已有;\n";
cout<<"是否要添加客房信息[Y(是)/N(否)]???"<<endl;
cin>>P;
if(P=="Y")
add_HolterRoom_info(Room);
else if(P=="N")
cout<<"添加客房信息已取消!\n";
else
cout<<"输入错误!\n";
}
system("pause");
system("cls");
}
void add_HolterRoom_info(HolterRoom *Room) //添加客房信息
{
int Number=101;
string P;
do
{
for(int i=0;i<30;i++)
{
if(Room[i].num==0)
{
Room[i].num=Number++;
cout<<"房间号码:"<<Room[i].num;
cout<<"\n房间类型:";cin>>Room[i].Type;
cout<<"\n房间价格:";cin>>Room[i].Price;
cout<<"\n\n房间添加成功,是否继续添加?(Y/N):::";
cin>>P;break;
}
else
Number++;
}
}while(P=="Y");
if(P=="N")
{
cout<<"\n已取消添加.\n";
}
else
cout<<"\n输入有误!请重新输入.\n";
}
void set_Customer_info(HolterRoom *Room) //2.客人入住登记
{
int Num;
int t;
cout<<"输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if((Num==Room[i].num)&&(Room[i].StayTime==0))
{
cout<<endl;
cout<<"房间已找到!\n";
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"请输入客户信息:\n";
cout<<"是否要订房?(Y/N)\n";
string p;
cin>>p;
if(p=="Y")
{
cout<<"客户身份证号码:";
cin>>Room[i].ID;
cout<<"客户姓名:";
cin>>Room[i].name;
cout<<"定金:";
cin>>Room[i].money;
cout<<"入住天数:";
cin>>Room[i].StayTime;
cout<<"天"<<endl;
cout<<"信息录入成功!"<<endl;
}
else if(p=="N")
cout<<"订房取消!\n";
else
cout<<"输入错误!"<<endl;
t++;
}
else if(Num==Room[i].num&&Room[i].StayTime!=0)
{
cout<<"此房间已住"<<endl;
t++;
}
else if(t==0&&i==29)
cout<<"查无此房!"<<endl;
}
system("pause");
system("cls");
}
void Change_HolterRoom_info(HolterRoom *Room) //3.客人信息修改
{
int Num;
cout<<"请输入要修改的房间号码:";
cin>>Num;
string _name;
string _ID;
int _money;
int _StayTime;
string _Price;
string _Type;
int t=0;
for(int i=0;i<30;i++)
{
if(Num==Room[i].num)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"将于"<<Room[i].StayTime<<"天后退房"<<endl;
cout<<"房间已找到!\n";
cout<<"是否修改房间信息?(Y/N)"<<endl;
string p;
cin>>p;
if(p=="Y")
{
cout<<"客户姓名:"; cin>>_name; Room[i].name=_name;
cout<<"客户身份证号码:";cin>>_ID ;Room[i].ID=_ID;
cout<<"定金:";cin>>_money;Room[i].money=_money;
cout<<"退房时间将延长至:";cin>>_StayTime;cout<<"天后"<<endl;
Room[i].StayTime=_StayTime;
Save_Customer_info(Room);
cout<<"修改成功!"<<endl;
}
else if(p=="N")
cout<<"已取消修改!"<<endl;
else
cout<<"输入有误!"<<endl;
t++;
}
else if(t==0&&i==29&&Room[i].Type=="null")
cout<<"查无此房!"<<endl;
}
system("pause");
system("cls");
}
void SetCount(HolterRoom *Room) //4.客人退房结算
{
int Num;
int t=0;
cout<<"请输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if(Num=Room[i].num&&Room[i].StayTime!=0)
{
string B;
cout<<"房间已找到!"<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户信息:::"<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"入住天数:"<<Room[i].StayTime<<"天"<<endl;
cout<<"请确认是否要退房(Y/N):";
cin>>B;
if(B=="Y")
{
Room[i].ID="0";
Room[i].name="无";
Room[i].money=0;
Room[i].StayTime=0;
cout<<"退房成功!"<<endl;
}
else if(B=="N")
cout<<"已取消退房!"<<endl;
else
cout<<"输入有误!"<<endl;
t++;
}
else if(Num==Room[i].num&&Room[i].StayTime)
{
cout<<"此房为空房!"<<endl;
t++;
break;
}
else
cout<<"查无此房!"<<endl;
break;
}
system("pause");
system("cls");
}
void PrintAll(HolterRoom *Room) //5.查询所有客房信息
{
int t=0;
for(int i=0;i<30;i++)
{
if(Room[i].Type!="null")
{
cout<<"房间号码:"<<Room[i].num<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户定金:"<<Room[i].money<<endl;
cout<<"此客户将于"<<Room[i].StayTime<<"天后退房!\n\n\n"<<endl;
t++;
}
if(t==0&&i==29)
cout<<"暂无任何客房信息!"<<endl;
}
system("pause");
system("cls");
}
void find_HolterRoomByNum(HolterRoom *Room) // 通过房间号查找
{
int Num;
int t=0;
cout<<"输入要查找的房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
{
if(Num==Room[i].num&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(Num==Room[i].num&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29&&Room[i].Type=="null");
{
cout<<"查无此房!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void find_HolterRoomByName(HolterRoom *Room) // 通过姓 名查找
{
string Name;
int t=0;
cout<<"输入要查找的客户姓名:";
cin>>Name;
for(int i=0;i<30;i++)
{
if(Name==Room[i].name&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(Name==Room[i].name&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29);
{
cout<<"查不到此客户!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void find_HolterRoomByType(HolterRoom *Room) // 通过房间类型查找
{
string type;
int t=0;
cout<<"输入要查找的房间类型:";
cin>>type;
for(int i=0;i<30;i++)
{
if(type==Room[i].Type&&Room[i].StayTime!=0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"此房已住!\n";
cout<<"将于"<<Room[i].StayTime<<"天后退房!"<<endl;
t++;
break;
}
else if(type==Room[i].Type&&Room[i].StayTime==0)
{
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
t++;
break;
}
else(t==0&&i==29);
{
cout<<"暂无此类房间!"<<endl;
break;
}
}
system("pause");
system("cls");
}
void Delete_HolterRoom(HolterRoom *Room) //7.删除客房信息
{
int Num;
cout<<"请输入房间号码:";
cin>>Num;
for(int i=0;i<30;i++)
if(Room[i].num==Num)
{
string B;
cout<<"房间已经找到:::"<<endl;
cout<<"房间类型:"<<Room[i].Type<<endl;
cout<<"房间价格:"<<Room[i].Price<<endl;
cout<<"客户信息:::"<<endl;
cout<<"客户身份证号码:"<<Room[i].ID<<endl;
cout<<"客户姓名:"<<Room[i].name<<endl;
cout<<"定金:"<<Room[i].money<<endl;
cout<<"\n请确认要删除此客房信息?(Y/N)";
cin>>B;
if(B=="Y")
{
Room[i].Type="null";
Room[i].num=0;
Room[i].Price=0;
Room[i].money=0;
Room[i].StayTime=0;
Room[i].name="0";
Room[i].ID="0";
cout<<"删除成功!"<<endl;
}
else if(B=="N")
cout<<"已取消删除!"<<endl;
else
cout<<"输入错误!"<<endl;
}
system("pause");
system("cls");
}
void Wirte(HolterRoom *Room)
{
fstream file("Room.txt",ios::out); //文件以输出方式打开(内存数据输出到文件)
for(int i=0;i<30;i++)
{
if(Room[i].Type!="null")
{
file.write((char *)&Room[i],sizeof(Room[i]));
file.close();
}
}
}
void Read(HolterRoom *Room)
{
int top;
HolterRoom b;
top=-1;
fstream file("Room.txt",ios::in); //文件以输入方式打开(文件数据输入到内存)
while(1)
{
file.read((char *)&b,sizeof(b));
if(!file)
break;
top++;
Room[top]=b;
}
file.close();
}
void main()
{
HolterRoom Room[200];
Read(Room);
char ch;
do
{
menu();
cout<<"请输入将要执行的命令编号: ";
cin>>ch;
switch(ch)
{
case '1':
system("cls");
set_HolterRoom_info(Room);
break;
case '2':
set_Customer_info(Room);
break;
case '3':
Change_HolterRoom_info(Room);
break;
case '4':
SetCount(Room);
break;
case '5':
PrintAll(Room);
break;
case '6':
system("cls");
Find_choose(Room);
cout<<"请输入将要执行的命令编号: ";
cin>>ch;
switch(ch)
{
case '1':
find_HolterRoomByNum(Room);
break;
case '2':
find_HolterRoomByName(Room);
break;
case '3':
find_HolterRoomByType(Room);
break;
case '4':
system("cls");
break;
default:cout<<"您的输入有误!"<<endl;
}
break;
case '7':
Delete_HolterRoom(Room);
break;
case 'q':
Wirte(Room);
Save_HolterRoom_info(Room);
Save_Customer_info(Room);
break;
default:cout<<"您的输入有误!"<<endl;
}
}while(ch!='q');
system("pause");
}
void menu() //主菜单函数
{
cout<<"\t\t 欢迎使用南阳宾馆管理系统 "<<endl;
cout<<"\t\t-----------------------------"<<endl<<endl;
cout<<"\t\t\t1.客房信息录入 \n"<<endl;
cout<<"\t\t\t2.客人入住登记 \n"<<endl;
cout<<"\t\t\t3.客人信息修改 \n"<<endl;
cout<<"\t\t\t4.客人退房结算 \n"<<endl;
cout<<"\t\t\t5.查询所有客房信息 \n"<<endl;
cout<<"\t\t\t6.查询选择界面 \n"<<endl;
cout<<"\t\t\t7.删除客房信息 \n"<<endl;
cout<<"\t\t\tq.退出系统 \n"<<endl;
}
void Find_choose(HolterRoom *Room)
{
cout<<"\t\t 欢迎使用南阳宾馆管理系统\n"<<endl;
cout<<"\t\t-----------------------------"<<endl;
cout<<"\t\t 查询界面 "<<endl;
cout<<"\t\t-----------------------------"<<endl;
cout<<"\n\n";
cout<<"\t\t 1.通过 房间号 查询客房 \n"<<endl;
cout<<"\t\t 2.通过 姓 名 查询客房 \n"<<endl;
cout<<"\t\t 3.通过 房间类型 查询客房\n"<<endl;
cout<<"\t\t 4.返回上一级菜单 \n"<<endl;
}