《面向对象程序设计》课程设计.doc
文本预览下载声明
甘肃政法学院
面向对象程序设计
课程设计
题 目 图书管理系统的设计
计算机科学学院 计算机科学与技术 专业
2011 级 计算科学与技术本科 班
学 号:__201181110110
姓 名:____黄志强___
指导教师:_____金 涛_____
成 绩:_______________
完成时间:_2012 年 _6 月
一.问题的分析与功能的定义:
二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息呢!图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书。因此新的图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。
1、设计内容及要求:
(1)设计一个图书馆管理系统,完成图书管理和读者管理的功能,并能对借阅信息进行管理,要求完成以下功能:图书资料管理,可以添加、修改、删除、查询书籍信息;读者资料管理,可以添加、修改、删除、查询读者信息;借书管理,可以进行添加借书信息;还书管理,可以进行还书信息。
(2)该项目是在Visual C++ 6.0的平台下用c++语言实现。
2.模块图:
二.对象(类)设计及实现:
1、概要设计:
Reader读者类、RDatabase 读者库类、Book 图书类、BDatabase 图书库类。
2、详细设计:
(1)类的原型描述
class Reader //读者类 int tag;//删除标记1:已删0:未删 ; int no;//读者编号; char name[10];//读者姓名; int borbook[Maxbor]; //所借图书. Reader() {}
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(); //输出读者信息.
class Book //图书类 int tag; //删除标记1:已删0:未删; int no; //图书编号; char name[20];//书名; int onshelf;//是否在架1:在架0:已借. Book() {}
char *getname();//获取姓名; int getno();//获取图书编号; int gettag(); //获取删除标记; void setname(char na[]);//设置书名; void delbook();//删除图书; void addbook(int n,char *na);//增加图书; int borrowbook() ;//借书操作; void retbook();//还书操作; void disp();//输出图书. class BDatabase //图书库类 int top;//图书记录指针
Book book[Maxb];//图书记录 BDatabase() ;//构造函数,将book.txt读到book[]中; void clear();//全删; int addbook(int n,char *na);//增加图书; Book *query(int bookid);//查找图书; void disp();//输出所有图书信息; void bookdata();//图书库维护;~BDatabase();//析构函数,将book[]写入book.txt文件中
三.核心控制设计
在主函数中我们要做的操作有:
(1)建立Reader读者类,RDatabase 读者库类,Book 图书类,BDatabase 图书库类。
(2)建立菜单界面,从而完成以下内容:
①进入功能必须打开菜单,然后用户根据菜单选择相应的提示进行操作,如借书,还书,图书维护,读者维护,退出等。
②从而进入相应的菜单中对相应的信息进行了解并进行统计。
(3) 将图书基本信息、图书采购信息、图书的借阅人信息存储下来。
(4) 系统界面简洁,易操作。
2、本程序应具备的功能:
显示全部