{
return no;
} //获取读者编号 void setname(char na[]) //设置姓名 {
strcpy(name,na); }
void delbook() //设置删除标记 {
tag=1; }
void addreader(int n,char *na); //增加读者 void borrowbook(int bookid); //借书操作 int retbook(int bookid); //还书操作
void disp(); //输出读者信息 };
void Reader::addreader(int n,char *na) //增加读者 {
tag=0; no=n;
strcpy(name,na);
for (int i=0;i void Reader::borrowbook(int bookid) //借书操作 { for (int i=0;i if (borbook[i]==0) { borbook[i]=bookid; return; } } } int Reader::retbook(int bookid) //还书操作 { for(int i=0;i if(borbook[i]==bookid) { borbook[i]=0; return 1; 1 } else continue; } return 0; } void Reader::disp() //输出读者信息 { cout << setw(5) << no << setw(10) << name << \借书编号:[\ for (int i=0;i cout < //读者类库,实现建立读者的个人资料 class RDatabase { private: int top; //读者记录指针 Reader read[Maxr];//读者记录 public: RDatabase(); //构造函数,将reader.txt读到read[]中 void clear() //删除所有读者信息 { top=-1; } int addreader(int n,char *na); //增添读者信息 Reader *query(int readerid) //按编号查找 { for (int i=0;i<=top;i++) if(read[i].getno()==readerid&& read[i].gettag()==0) return &read[i]; return NULL; } void disp(); //输出所有读者信息 int Readernum(); //得到读者编号 void readerdata(); //读者库维护 ~RDatabase(); // 析构函数,将read[]写入reader.txt文件中 }; RDatabase::RDatabase() //构造函数,将reader.txt 1 读到read[]中 { Reader s; top=-1; fstream file(\ while (1) { file.read((char *)&s,sizeof(s)); if (!file) break; top++; read[top]=s; } file.close(); } RDatabase::~RDatabase() // 析构函数,将read[]写入reader.txt文件中 { fstream file(\ for (int i=0;i<=top;i++) if(read[i].gettag()==0) file.write((char *)&read[i],sizeof(read[i])); else file.close(); } int RDatabase::addreader(int n,char *na) //增添读者信息 { Reader *p=query(n); if (p==NULL) { top++; read[top].addreader(n,na); cout<<\读者添加成功\ return 1; } return 0; } void RDatabase::disp() //输出所有读者信息 { for (int i=0;i<=top;i++) read[i].disp(); } int RDatabase::Readernum() { return top; 1 } void RDatabase::readerdata() //读者库维护 { char choice; char rname[100]; //读者姓名 int readerid; Reader *r; do { cout <<\欢迎进入读者维护界面\\n\\n\\n\\t\\t1新 增 \\n\\n\\t\\t2更 改\\n\\n\\t\\t3删 除\\n\\n\\t\\t4查 找\\n\\n\\t\\t5显 示\\n\\n\\t\\t6全 删\\n\\n\\t\\t0退 出\ cin >> choice; switch (choice) { case '1': cout << \输入读者编号:\ cin >> readerid; cout << \输入读者姓名:\ cin >> rname; addreader (readerid,rname); break; case '2': cout <<\输入读者编号:\ cin >> readerid; r=query(readerid); if (r==NULL) { cout <<\该读者不存在 \ break; } cout <<\输入新的姓名:\ cin >> rname; r->setname(rname); break; case '3': cout <<\输入读者编号:\ cin >> readerid; r=query(readerid); if (r==NULL) { cout <<\该读者不存在\ break; 1
相关推荐: