- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图书管理系统(C)陈明明
东华理工大学信息工程学院
《面向对象程序设计》课程设计报告
图书馆管理系统
指导教师: 谢小林
姓名:陈明明
学号:201140030117
班级:1140301
20 13 年 1 月 10 日
需求分析:
建立一个图书馆管理系统,可以处理以下对象.图书馆基本信息.图书馆的书籍.图书馆管理员 .读者信息
程序的主要功能:
1. 查询图书馆的总信息2. 查询图书馆管理员的信息3. 查询图书馆藏书信息4. 存入新书(有管理员加入,需进行身份验证)5. 旧书处理6. 存入新的管理员的信息7. 修改管理员的信息(增加工龄,加薪)8. 两所图书馆的最大藏书量之和9. 根据书名检索书刊信息10. 查询读者的借阅信息11. 查询读者信息(包括借书情况,到期时间,罚款情况。)12.管理员可以修改用户的欠款和交款的金额13.读者氛围学生、研究生和教师。所有学生的租期为1月,所有教师的租期为2月。
三、程序运行平台:
软件环境:w7
编程软件
VC++6.0
运行平台: Win32
硬 件: 普通个人pc机
系统总框架图
程序类的说明:
类的设计
Book类的设计:
(1)数据成员
char name[StrNum]; 用来存放书名。
char number[StrNum]; 用来存放图书的编号。
char kind[Type]; 用来存放图书的类型。
int tag; 定义删除标记。
int num; 定义图书编号为整形。
int add; 增加标记。
(2)函数成员
Book(){} 无参构造函数,用于为书名和作者姓名设置默认值。
char getkind() 用于获取图书类型。
char getname() 用于获取书名。
int getnum() 用于获取图书编号。
int gettag() 用于获取删除标记。
void setname(char na[]) 用于设置书名。
void setkind(char kin[]) 用于设置类型。
void delbook() 用于删除图书。
void addbook(int n,char *na,char *kin) 用于增加图书。
void disp() 用于输出图书。
模块分析
class BDatabase{} 图书管理类的设置,实现对图书的添加,查找,删除等。
int top; 设置图书记录指针。
Book book[Maxb]; 设置图书记录(Maxb定义为最多可存储的图书数,定义为整形)。
void clear() 清空图书记录。
int addbook(int n,char *na,char *kin) 增加图书记录。
Book *query(int bookid) 查找图书记录。
void bookdata(); 定义图书库。
void disp() 输出。
~BDatabase() 设置析构函数,将book[]写到book.txt文件中
void BDatabase::bookdata() 由此函数开始对图书管理系统的主菜单进行调用与功能的实现。(界面参看执行界面部分)
最后用main() 函数的实现,程序的主界面的引导
七、比较有特色的函数
class BDatabase{} 图书管理类的设置,实现对图书的添加,查找,删除等。
int top; 设置图书记录指针。
Book book[Maxb]; 设置图书记录(Maxb定义为最多可存储的图书数,定义为整形)。
void BDatabase::bookdata() 由此函数开始对图书管理系统的主菜单进行调用与功能的实现。(界面参看执行界面部分)
八、存在的不足与对策
使用多关键字进行查询时,我是使用以下语句:if(bname!=null) {sqlStr+=and Bname like %+bname+% ; },实现判断是否为空,从而利用给进条件实现查询,粗看之下并没有什么错误,但是在运行是却出现了异常,在找了很久被找出错误之后,我开始考虑是否是语法错误,而是使用MySQL的命令行模式来进行调试,在MySQL命令行中运行时却并没有出现错误,完全正确的查询出我想要的结果,在试了很久之后
文档评论(0)