ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:92.71KB ,
资源ID:21922311      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21922311.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆管理系统C++课程设计报告书Word文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书馆管理系统C++课程设计报告书Word文档格式.docx

1、本课题主要的目的是建立一个图书馆管理系统,可以处理以下对象:图书馆基本信息图书馆的书籍图书馆管理员 读者信息2.程序的主要功能1. 查询图书馆的总信息2. 查询图书馆管理员的信息3. 查询图书馆藏书信息4. 存入新书5. 存入新的管理员的信息6. 修改管理员的信息(增加工龄,加薪)7. 根据书名检索书刊信息8. 查询读者的借阅信息9. 查询读者信息10. 图书和管理员等信息应存放在不同的文件中,便于查询。2.1添加功能添加一个读者的基本信息,包括姓名、编号;添加一本书的基本信息,书名、编号;添加一个图书管理员的基本信息,姓名、员工号、工资、工龄。2.2删除功能能够对一个读者、图书管理员、一本书

2、的信息进行删除按姓名进行删除。2.3 删除全部成员信息能够对于全部读者和员工的信息进行删除!2.4显示功能显示所有读者、图书、员工的主要信息包括姓名或书名,编号等。2.5查找功能根据你键入的编号,显示其详细信息!2.6修改功能对读者、图书、员工的信息进行修改。2.7借书、还书输入读者编号和要借或要还的书处理并把信息存在读者信息内。3 程序运行平台VC+6.0。具体操作如下:新建文件,创建C+source file,写入程序再编译,链接,执行等。4 总体设计 图4.1 系统总体框架图5 程序类的说明管理员信息输出类的声明class Librarianprivate: int tag; int n

3、o;/编号 char name10; int workage;/工龄 int salary;public: Librarian() char *getname()return name; int gettag()return tag; int getno()return no; void setname(char na) strcpy(name,na); void delworker()tag=1; void addlibrarian(int n,char *na)/增加管理员 tag=0; no=n; strcpy(name,na); workage=0; salary=2000; void

4、 disp()/读出管理员信息 coutsetw(5)noname 工龄:setw(3)workage工资:salaryendl;读者信息输出类的声明class Reader private: /删除标记 1:已删 0:未删 /读者编号 /读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(char na) /设置姓名 void de

5、lbook() tag=1; /设置删除标记 1: void addreader(int n,char *na)/增加读者 for(int i=0;iMaxbor;i+) borbooki=0; void borrowbook(int bookid)/借书操作 if (borbooki=0) borbooki=bookid; return; int retbook(int bookid)/还书操作 if(borbooki=bookid) return 1; return 0; void disp()/读出读者信息 cout setw(5) no setw(10) name借书编号:; if(b

6、orbooki!=0) borbooki workerid;输入管理员姓名: wname; addlibrarian (workerid,wname); break;int addlibrarian(int n,char *na)/添加管理员时先查找是否存在 Librarian *p=query(n); if (p=NULL) top+; worktop.addlibrarian(n,na);6.2 显示模块显示模块将输出所有成员的信息 。如现实管理员的信息:Switch(choice)case 5 disp();void disp() /输出所有管理员信息 for (int i=0;=top

7、; worki.disp();6.3 修改模块首先由用户输入要修改的成员的姓名,然后系统用修改函数查找,显示该名成员的资料,然后系统提示用户输入需要修改的项目和新的资料。如修改管理员的信息:Switch(chioce)2 w=query(workerid); if (w=NULL) 该管理员不存在 输入新的姓名: w-setname(wname);6.4 查找模块首先由用户输入要查找的成员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的成员资料。如管理员:case 4读入管理员编号:该管理员不存在 endl;disp();6.5 删除模块首先由用户输入要删除的单个成员员姓名,

8、然后调用删除函数,删除该名职员的资料。如管理员的删除:3 输入管理员编号: 该管理员不存在 delworker();6.6 清空模块系统将会把所有成员的资料全部删除,将链表清空。6 clear();void clear()/删除所有管理员信息 top=-1; 7 系统测试首先进入VC+6.0,打开文件:图书馆管理系统.cpp,然后进入源程序,接着构建运行。1.第一步出现如图7.1主界面供选择操作图7.12.接着可以选择主界面上的3进行图书维护如图7.2,下一步可以选择新增图书等;图7.23选择0返回到主界面如图7.1可选择4进行读者维护然后进行新增、删除、修改等操作如图7.3最后返回主界面进行

9、下一步操作图7.34.选择5进行管理员维护同上面相同如图7.4图7.45.选1借书操作如图7.5然后可以查看读者的借书情况如图7.6图7.5 图7.68 结论我的这个图书馆管理系统做的不是很好,有些基本功能能够实现,虽然有借书、还书以及对读者、管理员、图书的维护,但是有很多细节操作没有体现出来,所以需要进一步改正,如可以对读者增加派生类实现对学生、研究所、老师等的区别,还有文件的保存也需要改进。通过本次课程设计,让我对C+有了进一步的了解和使用,能把学了的东西用于实践还是让我非常有成就感,但是不足的是对类、派生类还有指针以及文件的运用掌握的不是很好,所以我会在假期内通过多看书反复操作提高自己的

10、编程能力。在这里还要感谢诸位老师的支持和信赖。附 录(可选)附录1 源代码清单#include#include string.hfstream.hconst int Maxr=100;/最多的读者const int Maxb=100;/最多的图书const int Maxbor=5;/每位读者最多借五本书/管理员类 void disp()/读出管理员信息/管理员类库,实现建立管理员的个人资料 class LDatabase int top; /管理员记录指针 Librarian work20;/管理员记录 LDatabase() /构造函数,将worker.txt读到work中 Librari

11、an x; fstream file(worker.txt,ios:in);/打开一个输入文件 while (1) file.read(char *)&x,sizeof(x); if (!file)break; worktop=x; file.close(); /关闭 worker.txt void clear()/删除所有管理员信息 int addlibrarian(int n,char *na)/添加管理员时先查找是否存在 Librarian *query(int workerid)/按编号查找 if (worki.getno()=workerid & worki.gettag()=0)

12、return &worki; return NULL; void disp() /输出所有管理员信息 void workerdata();/管理员库维护 LDatabase() /析构函数,将work写到worker.txt文件中out); if (worki.gettag()=0) file.write(char *)&worki,sizeof(worki);void LDatabase:workerdata() char choice; char wname20; int workerid; Librarian *w; while (choice!=0)nnttt管理员维护nnntt 1新

13、增nntt 2更改nntt 3删 除nntt 4查找nntt 5显示nntt 6全删nntt 0退出cin choice; switch (choice) default:cout输入错误,请从新输入:break;/读者类,实现对读者的信息的描述/读者类库,实现建立读者的个人资料 class RDatabase /读者记录指针 Reader readMaxr;/读者记录 RDatabase() /构造函数,将reader.txt读到read中 Reader s;reader.txts,sizeof(s); readtop=s; /关闭 reader.txt void clear()/删除所有读

14、者信息 int addreader(int n,char *na)/添加读者时先查找是否存在 Reader *p=query(n); readtop.addreader(n,na); Reader *query(int readerid)/按编号查找 if (readi.getno()=readerid & readi.gettag()=0)readi; void disp() /输出所有读者信息 readi.disp(); void readerdata();/读者库维护 RDatabase() /析构函数,将read写到reader.txt文件中 if (readi.gettag()=0)readi,sizeof(readi);void RDatabase:readerdata() char rname20; int readerid; Reader *r;nnttt读 者 维 护nnntt 1 新 增nntt 2 更 改nntt 3 删 除nntt 4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退 出输入读者编号:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1