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

发布时间 : 星期一 文章第五组酒店客房预订管理系统的设计与实现源代码更新完毕开始阅读079a24235a8102d277a22f09

#include #include #include #include

#include\ //输入/输出文件流类 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

//客户库类,实现建立客户的个人资料 class RDatabase { private:

int top; //客户记录指针 customer read[Maxr]; //客户记录 public:

<< name <

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];

} return NULL; } void display() //输出所有客户信息 {

for (int i=0;i<=top;i++) if(read[i].gettag()==0) read[i].display(); } void customerdata(); //客户库维护 ~RDatabase() //析构函数,将read[]写到customer.txt文件中 { fstream file(\ for (int i=0;i<=top;i++) 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(\ while (choice!='0') {

cout<>choice; system(\ switch (choice) {

case '1': cout <<\请输入客户信息:\