第五组酒店客房预订管理系统的设计与实现源代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

#include"conio.h" //输入/输出文件流类

using namespace std;

const int Maxr=100; //最多的客户

const int Maxb=100; //最多的客房

const int Maxbor=10; //每位客户最多预订十间客房//person类

class person

{

public:

char name[20];

char ID[18];

char *getname() {return name;}//获取姓名

char *getID() {return ID;} //获取身份证号

void setID(char I[]) //设置身份证号

{

strcpy(ID,I);

}

void setname(char na[]) //设置姓名

{

strcpy(name,na);

}

};

//客户类公有继承了person类,实现对客户的信息的描述

class customer:public person

{

private:

int num; //客户编号

int tag; //删除标记1:已删0:未删

int borbook[Maxbor]; //所订房间

public:

customer() {}

int gettag() {return tag;} //获取删除标记

void delbook(){ tag=1; } //设置删除标记1:已删0:未删

int getnum() {return num;} //获取客户编号

void addcustomer(int n,char *na,char *I) //增加客户

{

tag=0;

num=n;

strcpy(name,na);

strcpy(ID,I);

for(int i=0;i

borbook[i]=0;

}

void borrowbook(int bookid) //预订操作

{

for(int i=0;i

{

if (borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

int retbook(int bookid) //退订操作

{

for(int i=0;i

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return 1;

}

}

return 0;

}

void display() //读出客户信息

{

cout <<"客户编号:" << num <

for(int i=0;i

if(borbook[i]!=0)

cout <<"#"<< borbook[i]<<" ";

cout << "]"<

}

};

//客户库类,实现建立客户的个人资料

class RDatabase

{

private:

int top; //客户记录指针

customer read[Maxr]; //客户记录

public:

RDatabase() //构造函数,将customer.txt读到read[]中{

customer s;

top=-1;

fstream file("customer.txt",ios::in); //打开一个输入文件

while (1)

{

file.read((char *)&s,sizeof(s));

if (!file)break;

top++;

read[top]=s;

}

file.close(); //关闭customer.txt

}

void clear() //删除所有客户信息

{

top=-1;

}

int addcustomer(int n,char *na,char *I) //添加客户时先查找是否存在

{

customer *p=query(n);

if (p==NULL)

{

top++;

read[top].addcustomer(n,na,I);

return 1;

}

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;

}

customer *query(string name) //按name查找

{

for (int i=0;i<=top;i++)

if (read[i].getname()==name&&read[i].gettag()==0)

{

return &read[i];

相关文档
最新文档