c++课程设计及——图书管理系统(窗口界面)_第1页
c++课程设计及——图书管理系统(窗口界面)_第2页
c++课程设计及——图书管理系统(窗口界面)_第3页
c++课程设计及——图书管理系统(窗口界面)_第4页
c++课程设计及——图书管理系统(窗口界面)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+课程设计 课程设计 系部:计算机应用技术系 专业:计算机应用技术 班级学号: 姓名: 一、系统功能分析: 图书管理系统 设计说明报告: 图书馆作为学纶学习知识的审要场月f,作为信息资源的集散也,图书馆和用 户借阅资料繁多,包含很多的信息数据的管理。介于这一现象,我们对于图书馆 的借阅管理系统进行了全面的分析处理, 在信息高速发展的今天,促进图书馆管 理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图 书的利用率, 我的系统针对的是图书管理,面对大量纷繁复杂的图书管理工作,和不同图 书的借出和归还,需要设计一个合理的系统,它应包括图书库,读者库,和图书 的借还书信息建立网

2、上电子图书管理系统的目的是实现无纸化图书管理,减轻管 理员的工作量, 对过时、损失的图书进行删除,达到降低成本提高工作效率的目标。 我的系统设计还有很多的缺点和不足,在以后的时间里要不断的完善,修改。希望老师 能够指出我的不足,使其能够真正的,更好的应用在人们的生活中。 二、系统设计: 设计了四个类,Reader (读者类),Rdatabase (读者库类),Book (图书类) 和Bdatabase (图书库类),读者类主要用于存储信息,其中包括读者的基本属 性int tag 删除标记1 :已删,0:未删int no; 读者编号char name10;读 者姓名 int borbookMax

3、bor;所借图书;char *getname()获取姓名 int gettag() 获取删除标记 int getno()获取读者编号 void setname(char na) 设置姓名 void delbook() 设置删除标记 void addreader(int n,char *na) 增加 读者 void borrowbook(int bookid)借书操作 int retbook(int bookid) 还书 操作void disp()输出读者信息;读者库类包括:int top;读者记录指针Reader readMaxr;读者记录 RDatabase()构造函数,将 reader.t

4、xt 读到 read中 void clear()删除所有读者信息 int addreader (int n,char *na)添加读者 时先查找是否存在 Reader *query(int readerid)按编号查找void disp() 输 出所有读者信息void readerdata(); 读者库维护RDatabase()析构函数,将 read写入 reader.txt 文件中 图书类包括:int tag;删除标记1 :已删0 :未删int no;图书编号char name20;书名 inton shelf;是否在架 1 :在架 0 :已借 char *get name() return

5、 name;获得书名 int getno() return no;获得书编号 int gettag() return tag;获得删除标记 void setname(char na)设置书名 void delbook()删除图书 void addbook(int n,char *na) 增加图书 int borrowbook() 借书操作void retbook()还书操作void disp()输出图书图书库类包括:int top;图书记录指针 Book bookMaxb; 图书记录BDatabase()构造函数,将 book.txt 读到 book中 void clear() 全删 int

6、addbook(int n,char *na) 增 加图书Book Rdatabase() Void clear() Int addreader(i nt n, char na) Reader *query(i nt readerid) Void disp() Void readerdata() Rdatabase() query(int bookid)查找图书void bookdata();图书库维护 Bdatabase析构函数,将book写入book.txt 文件中 Reader( 读者类) Int tag Int no Char n ame10 Int borbookmaxbor Rea

7、der() Char *get name() Int gettag() Int get no() Void set name(char n a) Void delreader() Void addreader(i nt n, char *na) Void borrowbook(i nt bookid) Int retbook(i nt bookid) Void disp() Rdatabase(读者库类) Int top Reader readmaxr Book (图书类) Int tag Int no Char name20 Int on eself Book() Char *get nam

8、e() Int get no() Int gettag() Void set name(char n a) Void delbook() Void addbook(int n,char *na) Void borrowbook() Int retbook() Void disp() Bdatabase(图书库类) Int top Book bookmaxb BDatabase() Void clear() Int addbook(i nt n, char *na) book *query(i nt bookid) Void disp() Void bookdata() BDatabase()

9、三、代码编写: #i nclude #i nclude #include #in elude vfstream.h const int Maxr=100; const int Maxb=100; const int Maxbor=5; class Reader int tag; int no; char n ame10; int borbookMaxbor; public: Reader() char *get name() return n ame; int gettag() retur n tag; int get no() retur n n o; void set name(char

10、n a) strcpy( name ,n a); void delbook() tag=1; void addreader(i nt n, char *na) tag=0; no=n; strcpy( name ,n a); for (int i=0;iMaxbor;i+) borbooki=0; void borrowbook(i nt bookid) for (int i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; return; int retbook(int bookid) for (int i=0;iMaxbor;i+) if (bo

11、rbooki=bookid) borbooki=0; return 1; return 0; void disp() coutsetw(5)nosetw(10)name 借书编号 :; for (int i=0;iMaxbor;i+) if (borbooki!=0) coutborbooki|; coutendl; ; class RDatabase int top; Reader readMaxr; public: RDatabase() Reader s; top=-1; fstream file(reader.txt,ios:in); while (1) file.read(char

12、*) if (!file) break; top+; readtop=s; file.close(); void clear() top=-1; int addreader (int n,char *na) Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid) for (int i=0;i=top;i+) if (readi.getno()=readerid return NULL; void disp() for (int i

13、=0;i=top;i+) if (readi.gettag()=0) readi.disp(); void readerdata(); RDatabase() fstream file(reader.txt,ios:out); for (int i=0;i=top;i+) if (readi.gettag()=0) file.write(char *) file.close(); ; void RDatabase:readerdata() int choice=1; char rname20; int readerid; Reader *r; while(choice!=0) if (choi

14、ce!=0) coutvv读者维护; cinchoice; if(choice=0)continue; if(choice=1) coutreaderid; coutrname; addreader(readerid,rname); else if(choice=2) coutreaderid; r=query(readerid); if (r=NULL) cout 该读者不存在 endl; continue; coutrname; r-setname(rname); else if(choice=3) coutreaderid; r=query(readerid); if (r=NULL)

15、cout 该读者不存在 delbook(); else if(choice=4) coutreaderid; r=query(readerid); if (r=NULL) cout 该读者不存在 disp(); else if(choice=5)disp(); else if(choice=6)clear(); else endl; cout 您的输入有误!请重新输入: class Book int tag; int no; char name20; int onshelf; public: Book() char *getname() return name; int getno() ret

16、urn 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() 在 coutsetw(6)nosetw(18)namesetw(10

17、)(onshelf=1? 架: 已借 )endl; ; class BDatabase int top; Book bookMaxb; public: BDatabase() Book b; top=-1; fstream file(book.txt,ios:in); while (1) file.read(char*) if (!file) break; top+; booktop=b; file.close(); void clear() top=-1; int addbook(int n,char *na) Book *p=query(n); if (p=NULL) top+; book

18、top.addbook(n,na); return 1; return 0; Book *query(int bookid) for (int i=0;i=top;i+) if (booki.getno()=bookid return NULL; void bookdata(); void disp() for (int i=0;i=top;i+) if (booki.gettag()=0) booki.disp(); BDatabase() fstream file(book.txt,ios:out); for (int i=0;i=top;i+) if (booki.gettag()=0)

19、 file.write(char*) file.close(); ; void BDatabase:bookdata() int choice=1; char bname40; int bookid; Book *b; while(choice!=0) if (choice!=0) coutvv图书维护; cinchoice; if(choice=0)continue; if (choice=1) coutbookid; coutbname; addbook(bookid,bname); else if (choice=2) coutbookid; b=query(bookid); if (b

20、=NULL) cout 该图书不存在 endl; continue; coutbname; b-setname(bname); else if (choice=3) coutbookid; b=query(bookid); if (b=NULL) cout 该图书不存在 delbook(); else if (choice=4) coutbookid; b=query(bookid); if (b=NULL) cout 该图书不存在 disp(); else if (choice=5)disp(); else if (choice=6)clear(); else cout 您的输入有误!请重新

21、输入: endl; void main() int choice=1,bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!=0) if(choice!=0) cout; cinchoice; if(choice=0)continue; if (choice=1) coutreaderid; coutbookid; r=ReaderDB.query(readerid); if (r=NULL) cout 该读者不存在,不能借书 endl; continue; b=BookD

22、B.query(bookid); if (b=NULL) cout 该读者不存在,不能借书 borrowbook()=0) cout 该读者不存在,不能借书 borrowbook(b-getno(); else if (choice=2) coutreaderid; coutbookid; r=ReaderDB.query(readerid); if (r=NULL) cout 不存在该读者,不能借书 endl; continue; b=BookDB.query(bookid); if (b=NULL) cout 不存在该图书,不能借书 retbook(); r-retbook(b-getno(); if (choice=3)BookDB.book

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论