当前位置:
文档之家› 第五组酒店客房预订管理系统的设计与实现源代码(可编辑修改word版)
第五组酒店客房预订管理系统的设计与实现源代码(可编辑修改word版)
}
};
//客房库类,实现对客房的管理,如查找、删除等class BDatabase
{
private:
inttop;//客房记录指针
Book book[Maxb];//客房记录public:
BDatabase()//构造函数,将book.txt读到book[]中
{
Book b;
top=-1;
fstream file("book.txt",ios::in); wБайду номын сангаасile (1)
"<<"删
除"<<endl;
cout<<endl<<setw(28)<<"4
"<<"查
找"<<endl;
cout<<endl<<setw(28)<<"5
"<<"显
示"<<endl;
cout<<endl<<setw(28)<<"6
"<<"全
删"<<endl;
cout<<endl<<setw(28)<<"0
}
customer*query(string name)//按name查找
{
for (int i=0;i<=top;i++)
if (read[i].getname()==name&&read[i].gettag()==0)
{
return &read[i];
}
return NULL;
}
voiddisplay()//输出所有客户信息
{
cout<<"客户编号:"<<num<<setw(15)<<"姓名:"<<name<<setw(15)<<"身份证号:" << ID<<setw(15)<<"客房编号:[";
for(int i=0;i<Maxbor;i++) if(borbook[i]!=0)
cout <<"#"<< borbook[i]<<" "; cout << "]"<<endl;
system("cls"); switch (cho)
{
case '1':
cout << "输入客户编号:"; cin >> customerid; r=query(customerid);
if (r==NULL)
{
cout <<"该客户不存在"<< endl; break;
}
break; case'2':
{
tag=0; num=n;
strcpy(name,na); strcpy(ID,I);
for(int i=0;i<Maxbor;i++) borbook[i]=0;
}
void borrowbook(int bookid)//预订操作
{
for(int i=0;i<Maxbor;i++)
{
if (borbook[i]==0)
{
top++; book[top].addbook(n,na); return 1;
}
return 0;
}
Book *query(intbookid)//查找客房
{
for (int i=0;i<=top;i++)
if (book[i].getno()==bookid &&book[i].gettag()==0)
cout<<"输入客户名字:"; cin >> rname; r=query(rname);
if (r==NULL)
{
cout<<"该客户不存在"<<endl; break;
}
}
r->display(); break;
case '5':
display(); break;
case '6':
clear();
constintMaxbor=10;//每位客户最多预订十间客房
//person类class person
{
public:
char name[20]; char ID[18];
char*getname(){returnname;}//获取姓名char *getID(){returnID;}//获取身份证号voidsetID(charI[])//设置身份证号
{
strcpy(ID,I);
}
voidsetname(charna[])//设置姓名
{
strcpy(name,na);
}
};
//客户类公有继承了person类,实现对客户的信息的描述class customer:public person
{
private:
intnum;//客户编号
inttag;//删除标记1:已删0:未删
"<<"返
回"<<endl;
cin>>choice;
system("cls");
switch (choice)
{
case '1':
cout <<"请输入客户信息:"<<endl;
cout << "输入客户编号:"; cin >> customerid;
cout << "输入客户姓名:"; cin >> rname;
//预订操作
{
if (onshelf==1)
{
onshelf=0;
return 1;
}
return 0;
}
void retbook()
//退订操作
{
onshelf=1;
}
void disp()
//输出客房
{
cout<<"客
房
编号:"<<no<<setw(15)<<"客 房 描述:"<<name
<<setw(15)<<(onshelf==1?"空房":"已预订")<<endl;
{
for (int i=0;i<=top;i++) if(read[i].gettag()==0)
read[i].display();
}
voidcustomerdata();//客户库维护
~RDatabase()//析构函数,将read[]写到customer.txt文件中
{
fstream file("customer.txt",ios::out); for (int i=0;i<=top;i++)
}
return 0;
}
customer*query(int customerid)//按编号查找
{
for (int i=0;i<=top;i++)
if (read[i].getnum()==customerid&&read[i].gettag()==0)
{
return &read[i];
}
return NULL;
{
cout << "该客户不存在"<<endl; break;
}
cout << "输入新的客户姓名:"; cin >> rname;
r->setname(rname);
cout<<"输入新的身份证号码:"; cin>>rID;
r->setID (rID); break;
case '3':
cout << "输入客户编号:"; cin >> customerid; r=query(customerid);
if (read[i].gettag()==0)
file.write((char *)&read[i],sizeof(read[i])); file.close();
}
};
void RDatabase::customerdata()
{
char choice; char rsex[10]; char rname[20]; int customerid; char rID[18]; customer *r; system("cls");
fstreamfile("customer.txt",ios::in);//打开一个输入文件while(1)