开发工具:
文件大小: 9kb
下载次数: 0
上传时间: 2006-02-23
详细说明: /*****************************************************************************************/#include #include #include #include //输入/输出文件流类using namespace std;const int Maxr=100;//最多的读者const int Maxb=100;//最多的图书const int Maxbor=5;//每位读者最多借五本书//读者类,实现对读者的信息的描述class Reader { private: int tag; //删除标记 1:已删 0:未删 int no; //读者编号 char name[10]; //读者姓名 int borbook[Maxbor];//所借图书 public: Reader() {} char *getname() {return name;} //获取姓名 int gettag() {return tag;} //获取删除标记 int getn o() {return no;} //获取读者编号 void setname(char na[]) //设置姓名 { strcpy(name,na); } void delbook(){ tag=1; }//设置删除标记 1:已删 0:未删 void addreader(int n,char *na)//增加读者 { tag=0; no=n; strcpy(name,na); for(int i=0;i> 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 << " 该读者不存在 "<> rname; r->setname(rname); break; case ‘3‘: cout << " 输入读者编号:"; cin >> readerid; r=query(readerid); if (r==NULL) { cout <<" 该读者不存在" << endl; break; } r->delbook(); break; case ‘4‘: cout << "读入读者编号:"; cin >> readerid; r=query(readerid); if (r==NULL) { cout <<"该读者不存在"<< endl; break; } r->disp(); break; case ‘5‘: disp(); break; case ‘6‘: clear(); break; default:cout<<"输入错误,请从新输入:";break; } }}//图书类,实现对图书的描述,图书的编号,书名,借出,还入等class Book{private: int tag;//删除标记 1:已删 0:未删 int no;//图书编号 char name[20];//书名 int onshelf;//是否再架 1:再架 2:已借public: Book(){} char *getname() { return name; }//获取姓名 int getno(){ return no; }//获取图书编号 int gettag(){ return tag; }//获取删除标记 void setname(char na[])//设置书名 { strcpy(name,na); } void delbook(){ tag=1;}//删除图书 void addbook(int n,char *na)//增加图书 { tag=0; no=n; strcpy(name,na); onshelf=1; } int borrowbook()//借书操作 { if (onshelf==1) { onshelf=0; return 1; } return 0; } void retbook()//还书操作 { onshelf=1; } void disp()//输出图书 { cout << setw(6) << no << setw(18) << name << setw(10) <<(onshelf==1? "在架":"已借") <> choice; switch (choice) { case ‘1‘: cout << "输入图书编号:"<> bookid; cout << "输入图书书名:"<> bname; addbook(bookid,bname); break; case ‘2‘: cout << "输入图书编号:"<> bookid; b=query(bookid); if (b==NULL) { cout << " 该图书不存在 "<> bname; b->setname(bname); break; case ‘3‘: cout <<" 读入图书编号:"<> bookid; b=query(bookid); if (b==NULL) { cout <<" 该图书不存在" << endl; break; } b->delbook(); break; case ‘4‘: cout << " 读入图书编号:"<> bookid; b=query(bookid); if (b==NULL) { cout <<" 该图书不存在"<< endl; break; } b->disp(); break; case ‘5‘: disp(); break; case ‘6‘: clear(); break; default:cout<<"输入错误,请从新输入:"; } }}//main() 函数的实现,程序的主界面的引导void main(){ char choice; int bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!=‘0‘) { cout <> choice; switch (choice) { case ‘1‘: cout <<" 借书 读者编号:"; cin >>readerid; cout <<" 图书编号: "; cin >>bookid; r=ReaderDB.query(readerid);//按编号查找 if (NULL==r) { cout <<" 不存在该读者,不能借书"<< endl; break; } b=BookDB.query(bookid); if (b==NULL) { cout <<" 不存在该图书,不能借书"<< endl; break; } if (b->borrowbook()==0) { cout << " 该图书已借出,不能借书"<< endl; break; } r->borrowbook(b->getno()); break; case ‘2‘: cout<<"还书 读者编号:"; cin >>readerid; cout << " 图书编号:"; cin >>bookid; r=ReaderDB.query(readerid); if (r==NULL) { cout <<" 不存在该读者,不能还书" << endl; break; } b=BookDB.query(bookid); if (b==NULL) { cout <<" 不存在该图书,不能还书" <retbook(); r->retbook(b->getno()); break; case ‘3‘: BookDB.bookdata(); break; case ‘4‘: ReaderDB.readerdata(); break; default:cout<<"输入错误,请从新输入:"; } }} ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.