最新c++课程设计及——图书管理系统(窗口界面).doc

上传人:1595****071 文档编号:34716859 上传时间:2022-08-18 格式:DOC 页数:69 大小:995.50KB
返回 下载 相关 举报
最新c++课程设计及——图书管理系统(窗口界面).doc_第1页
第1页 / 共69页
最新c++课程设计及——图书管理系统(窗口界面).doc_第2页
第2页 / 共69页
点击查看更多>>
资源描述

《最新c++课程设计及——图书管理系统(窗口界面).doc》由会员分享,可在线阅读,更多相关《最新c++课程设计及——图书管理系统(窗口界面).doc(69页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec+课程设计及图书管理系统(窗口界面)c+课程设计及图书管理系统(窗口界面)C+课程设计课程设计系部:计算机应用技术系专业:计算机应用技术班级学号: 姓名: 一、系统功能分析: 图书管理系统设计说明报告: 图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书馆和用户借阅资料繁多,包含很多的信息数据的管理。介于这一现象,我们对于图书馆的借阅管理系统进行了全面的分

2、析处理,在信息高速发展的今天,促进图书馆管理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图书的利用率。 我的系统针对的是图书管理,面对大量纷繁复杂的图书管理工作,和不同图书的借出和归还,需要设计一个合理的系统,它应包括图书库,读者库,和图书的借还书信息建立网上电子图书管理系统的目的是实现无纸化图书管理,减轻管理员的工作量,对过时、损失的图书进行删除,达到降低成本提高工作效率的目标。我的系统设计还有很多的缺点和不足,在以后的时间里要不断的完善,修改。希望老师能够指出我的不足,使其能够真正的,更好的应用在人们的生活中。二、系统设计:设计了四个类,Reader(读者类),Rda

3、tabase(读者库类),Book(图书类)和Bdatabase(图书库类),读者类主要用于存储信息,其中包括读者的基本属性int tag删除标记 1:已删,0:未删 int no; 读者编号 char name10;读者姓名 int borbookMaxbor;所借图书 ;char *getname() 获取姓名 int gettag() 获取删除标记 int getno()获取读者编号void setname(char na)设置姓名void delbook()设置删除标记void addreader(int n,char *na) 增加读者void borrowbook(int book

4、id) 借书操作int retbook(int bookid) 还书操作void disp() 输出读者信息;读者库类包括:int top; 读者记录指针Reader readMaxr; 读者记录RDatabase() 构造函数,将reader.txt读到read中void clear() 删除所有读者信息int addreader (int n,char *na) 添加读者时先查找是否存在Reader *query(int readerid) 按编号查找void disp() 输出所有读者信息void readerdata(); 读者库维护RDatabase() 析构函数,将read写入re

5、ader.txt文件中 图书类包括:int tag; 删除标记 1:已删 0:未删 int no; 图书编号 char name20; 书名 int onshelf; 是否在架 1:在架 0:已借 char *getname() return name; 获得书名 int getno() return no; 获得书编号 int gettag() return tag; 获得删除标记 void setname(char na) 设置书名void delbook()删除图书void addbook(int n,char *na)增加图书int borrowbook() 借书操作void retb

6、ook() 还书操作void disp() 输出图书图书库类包括:int top;图书记录指针 Book bookMaxb; 图书记录BDatabase() 构造函数,将book.txt读到book中void clear() 全删int addbook(int n,char *na) 增加图书Book *query(int bookid)查找图书void bookdata(); 图书库维护Bdatabase析构函数,将book写入book.txt文件中 Reader(读者类)Int tagInt noChar name10Int borbookmaxborReader()Char *getna

7、me()Int gettag()Int getno()Void setname(char na)Void delreader()Void addreader(int n,char *na)Void borrowbook(int bookid)Int retbook(int bookid)Void disp() Rdatabase(读者库类)Int topReader readmaxrRdatabase()Void clear()Int addreader(int n,char *na)Reader *query(int readerid)Void disp()Void readerdata()

8、Rdatabase() Book(图书类)Int tagInt noChar name20Int oneselfBook()Char *getname()Int getno()Int gettag()Void setname(char na)Void delbook()Void addbook(int n,char *na)Void borrowbook()Int retbook()Void disp() Bdatabase(图书库类)Int topBook bookmaxbBDatabase()Void clear()Int addbook(int n,char *na)book *quer

9、y(int bookid)Void disp()Void bookdata()BDatabase()三、代码编写:#include #include #include #include const int Maxr=100; const int Maxb=100; const int Maxbor=5; class Reader int tag; int no; char name10; int borbookMaxbor; public: Reader() char *getname() return name; int gettag() return tag; int getno() re

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

11、axbor;i+) if (borbooki=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) fi

12、le.read(char *)&s,sizeof(s); 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 & readi.g

13、ettag()=0) return &readi; return NULL; void disp() for (int i=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 *)&readi,sizeof(readi); file.close(); ; void RDatabase:readerdat

14、a() int choice=1; char rname20; int readerid; Reader *r; while(choice!=0) if (choice!=0) cout读者维护 endl; 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

15、-setname(rname); else if(choice=3)coutreaderid; r=query(readerid); if (r=NULL) cout该读者不存在delbook(); else if(choice=4)coutreaderid; r=query(readerid); if (r=NULL) cout该读者不存在disp(); elseif(choice=5)disp(); elseif(choice=6)clear(); elsecout您的输入有误!请重新输入:endl; class Book int tag; int no; char name20; int

16、 onshelf; 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

17、 retbook() onshelf=1; void disp() coutsetw(6)nosetw(18)namesetw(10)(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*)&b,sizeof(b); if (!file) break; top+; booktop=b; file.close(); void clear(

18、) top=-1; int addbook(int n,char *na) Book *p=query(n); if (p=NULL) top+; booktop.addbook(n,na); return 1; return 0; Book *query(int bookid) for (int i=0;i=top;i+) if (booki.getno()=bookid & booki.gettag()=0) return &booki; return NULL; void bookdata(); void disp() for (int i=0;i=top;i+) if (booki.g

19、ettag()=0)booki.disp(); BDatabase() fstream file(book.txt,ios:out); for (int i=0;i=top;i+) if (booki.gettag()=0) file.write(char*)&booki,sizeof(booki); file.close(); ; void BDatabase:bookdata() int choice=1; char bname40; int bookid; Book *b; while(choice!=0) if (choice!=0) cout图书维护endl; cinchoice;

20、if(choice=0)continue;if (choice=1) coutbookid; coutbname; addbook(bookid,bname); elseif (choice=2)coutbookid; b=query(bookid); if (b=NULL) cout该图书不存在endl;continue; coutbname; b-setname(bname); elseif (choice=3) coutbookid; b=query(bookid); if (b=NULL) cout该图书不存在delbook(); elseif (choice=4) coutbooki

21、d; b=query(bookid); if (b=NULL) cout该图书不存在disp(); elseif (choice=5)disp(); elseif (choice=6)clear(); else cout您的输入有误!请重新输入: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 (c

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

23、读者,不能借书endl; continue; b=BookDB.query(bookid); if (b=NULL) cout不存在该图书,不能借书retbook(); r-retbook(b-getno(); if (choice=3)BookDB.bookdata(); elseif (choice=4)ReaderDB.readerdata();else cout您的输入有误!请重新输入:endl; 四、总结C+语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验。从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序

24、,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。这不但激发了我的创新意识,还开发了我的创造能力、培养了我的沟通能力。这次实习时间虽然仅有一个星期,但确实使我受益非浅。通过实习我丰富了计算机操作经验,更加深了对C+语言的了解,熟悉了其环境。另外,实习中老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。这是一个发现问题和解决问题的过程,从困惑到明朗,从苦恼道兴奋。我一步步地走过来,发现编程真是一个奇妙刺激的旅程。特别是当我把一个自己认为毫无可能的事情完成自后,那种感觉简直不能用言语来表达。感谢这次课程设计给我带来的全新体验和丰富经验。我会把它换成我以后奋斗的源泉。五、参考书1、李龙澍主编, C+程序设计, 清华大学出版社。 2、李龙澍主编, C+程序设计实训, 清华大学出版社社。 3、刘振安等, C+程序设计课程设计, 机械工业出版社。 4、李春葆等 , C+语言程序设计题典,清华大学出版社。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com