面向对象程序设计图书管理系统设计.docx

上传人:b****4 文档编号:24586429 上传时间:2023-05-29 格式:DOCX 页数:28 大小:23.49KB
下载 相关 举报
面向对象程序设计图书管理系统设计.docx_第1页
第1页 / 共28页
面向对象程序设计图书管理系统设计.docx_第2页
第2页 / 共28页
面向对象程序设计图书管理系统设计.docx_第3页
第3页 / 共28页
面向对象程序设计图书管理系统设计.docx_第4页
第4页 / 共28页
面向对象程序设计图书管理系统设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

面向对象程序设计图书管理系统设计.docx

《面向对象程序设计图书管理系统设计.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计图书管理系统设计.docx(28页珍藏版)》请在冰豆网上搜索。

面向对象程序设计图书管理系统设计.docx

面向对象程序设计图书管理系统设计

资料范本

 

本资料为word版本,可以直接编辑和打印,感谢您的下载

 

面向对象程序设计—图书管理系统设计

 

地点:

__________________

时间:

__________________

 

说明:

本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容

面向对象程序设计专题实验报告

题目:

图书管理系统设计

班级:

姓名:

学号:

摘要

二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。

如何获取信息?

图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。

迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?

 科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。

信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。

因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。

从而使人们有更多时间来获取信息、了解信息、掌握信息。

关键词:

C++;图书管理系统VisualC++6.0

Abstract21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How to obtain the information?

Books is work that the way that we obtain the information best, but collect and keep tohave great capacity thebig increment because of the library books, make traditional booksmanaging person increasingly heavy to get up.Forcing people rises to manage the books with the new management method, showing tosetfree out the books the managing person from the heavy work?

The advance of the science technique continuous changes and improvements, let mankind the life took place the enormous variety, thecalculator flies technically to develop soon, making the every trade get the extensive universality with use in the aspects of calculator technique applying.The information turns the ages comes thecurrent that become can't resist, human civilization enter a brand-new ages.Therefore, books management system too with the convenience, fast, low advantage in expenses is entering people life slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate worker's personnel former busy work, let up to come amiss all rate, can make the reader spend more time at choose the book with read the in the book.From butmake that people have more time to obtain the information, understand the information and control the information.

Keywords:

 C++;Books management system;VisualC++6.0

TOC\o"1-3"\h\uHYPERLINK\l_Toc26631第1章概述PAGEREF_Toc266311

HYPERLINK\l_Toc66621.1题目及要求PAGEREF_Toc66621

HYPERLINK\l_Toc209971.2背景和意义PAGEREF_Toc209971

HYPERLINK\l_Toc196521.3问题的解决方案PAGEREF_Toc196522

HYPERLINK\l_Toc3647第2章系统分析PAGEREF_Toc36472

HYPERLINK\l_Toc99452.1系统的整体需求PAGEREF_Toc99452

HYPERLINK\l_Toc121202.2系统的功能需求PAGEREF_Toc121202

HYPERLINK\l_Toc88672.3系统功能总体设计PAGEREF_Toc88673

HYPERLINK\l_Toc119393.1系统的整体设计PAGEREF_Toc119393

HYPERLINK\l_Toc94583.2系统的主要模块设计PAGEREF_Toc94584

HYPERLINK\l_Toc30772第4章系统实现PAGEREF_Toc307726

HYPERLINK\l_Toc7119第5章结束语PAGEREF_Toc711911

HYPERLINK\l_Toc22792参考文献PAGEREF_Toc2279212

HYPERLINK\l_Toc26803附录PAGEREF_Toc2680313

第1章概述

1.1题目及要求

1)问题描述

定义图书类,属性有:

书名、出版社、ISBN号、作者、库存量、价格等信息和相关的对属性做操作的行为。

主要完成对图书的销售、统计和图书的简单管理。

2)功能要求

(1)销售功能。

购买书籍时,输入相应的ISBN号,并在书库中查找该书的相关信息。

如果有库存量,输入购买的册数,进行相应计算。

如果库存量不够,给出提示信息,结束购买。

(2)图书简单管理功能。

添加功能:

主要完成图书信息的添加,要求ISBN号唯一。

当添加了重复的编号时,则提示数据添加重复并取消添加。

查询功能:

可按书名、ISBN号、作者、出版社进行查询。

若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该标题不存在!

”。

修改功能:

可根据查询结果对相应的记录进行修改,修改时注意ISBN号的唯一性。

删除功能:

主要完成图书信息的删除。

输入要删除的ISBN号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。

(3)统计功能。

输出当前书库中所有图书的总数及详细信息;可按书的价格、库存量、作者、出版社进行统计,输出统计信息时,要按从大到小进行排序。

图书存盘:

将当前程序中的图书信息存入文件中。

读出信息:

从文件中将图书信息读入程序。

1.2背景和意义

背景:

图书馆是我们日常生活中必不可少的学习、阅读的场所,借阅图书则是我们进入图书馆进行阅读的首要行为。

为了能够借阅到我们想要借阅的图书,我们需要借助电脑查询需要借阅的图书的具体信息,然后找出图书后再去借阅处刷卡登记。

如今我们处于一个知识大爆炸的时代,图书种类数量剧增,工作人员每天不仅要登记借阅者借阅的图书,还要登记新购进的图书,工作量繁重。

而随着科学技术的进步,计算机日益进入我们的生活工作之中,我们能否利用计算机技术,取代原来的手工登记,提高图书管理的效率呢?

答案是肯定的。

意义:

借助计算机C++中的知识,编写相应的图书管理程序就可以实现这一功能。

利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。

,不仅能节省我们大量的工作时间,减轻巨大的工作量,提高工作效率,还能够减少工作失误。

有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。

1.3问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

第2章系统分析

2.1系统的整体需求

该系统需要完成的内容:

用类和对象实现新书上架、图书浏览、图书查询、图书下架。

该系统需要完成的整体目标:

系统能够正常运行,基本上实现添加、删除图书信息,显示所有信息,能够由相应条件查阅图书信息这四种功能。

2.2系统的功能需求

必须完成的模块:

(1)界面模块:

当进入该管理系统时候,提示相应的说明,引导如何操作

(2)新书上架模块:

能够添加书号、书名、作者名、出版社、出版时间、价格这些图书信息。

(3)图书浏览模块:

能够输出所有图书信息。

(4)图书查询模块:

可按条件查询图书信息,当输入书号或书名或作者名时候,相对应的图书信息便可自动搜索出来。

(5)图书下架模块:

可按书号删除指定图书信息。

2.3系统功能总体设计

图书管理系统主界面

系统退出

图书删除

图书查询

图书浏览

图书修改

信息录入

按ISBN

按出版社

按作者

按书名

价格

出版时间

作者

出版社

书名

ISBN

图1系统功能总框图

第3章系统设计

开始

输入a

3.1系统的整体设计

N

Y

a=1

N

Y

创建新书信息

a=2

Y

N

a=3

N

Y

显示所有图书

修改图书信息

a=4

N

Y

a=5

按条件查询

a=6

按书号删除图书

结束

图2系统整体流程图

3.2系统的主要模块设计

主界面模块。

该模块显示管理程序的名称,提示相应的操作。

信息录入模块。

在主界面情况下,选择1,即进入图书信息录入模块,录完后信息保存到txt文件中。

开始

输入a

a=1

创建新书信息

录入ISBN、书名、书号、作者、出版社、出版时间、价格

保存到txt文件中

图3信息录入模块流程图

(3)信息修改模块。

开始

程序开始,进入主界面,输入2,输入要修改图书的ISBN,对图书的信息进行修改。

输入a

a=2

输入要修改图书的ISBN

录入新的图书信息

修改完成

图4信息修改模块流程图

图书浏览模块

程序开始,进入主界面,输入3,就可以对所有的图书信息进行浏览,查看。

开始

输入a

a=3

读取txt文件信息

显示图书信息

图5图书浏览模块流程图

(5)图书查询模块

开始

程序开始,进入主界面,输入4,进入查询模块,可分别按ISBN、书名、作者、出版社等选项查询图书信息

输入a

a=4

进入图书查询界面

输入b

b=1

YN

N

Y

按ISBN查询

b=2

N

Y

b=3

按书名查询

N

b=4

Y

按作者查询

输入错误

按出版社查询

显示图书信息

图6图书查询模块流程图

(6)图书下架模块

开始进入主界面,选择5,就可以按ISBN好删除图书。

开始

输入a

a=5

选择要删除图书的ISBN

删除完成

图7图书下架模块流程图

第4章系统实现

1登入界面

实现方式:

调用主函数,利用Book.read()读入数据,同时定义功能选项按钮charfunction='0';,对function的真假进行判断,若function为真,即与初值相同,实现while循环内语句。

界面主要程序语句:

cout<

cout<<"\t******************************************************************\n";

cout<<"\t\t\t\t欢迎使用图书管理系统"<

cout<<"\t\t\t\t\t请选择操作\n"<

cout<<"\t\t\t\t1创建新书信息"<

cout<<"\t\t\t\t2修改图书信息"<

cout<<"\t\t\t\t3显示所有图书"<

cout<<"\t\t\t\t4按指定条件查询书目"<

cout<<"\t\t\t\t5按书号删除书目"<

cout<<"\t\t\t\t6退出系统并保存修改"<

cout<<"\t\t\t(查询可按书号/作者/书名查询)"<

cout<<"\t******************************************************************\n";

调试运行代码后结果如下:

图8

2、创建图书信息

当选择按钮1,执行main函数中function=='1'的条件语句,首先定义字符串stringa,b,c,d,e,f;然后调用#include,根据提示输入相应的书本信心,建立对象booknewbook(a,b,c,d,e,f);,利用添加函数Book.add(newbook)把数据添加到新建对象里,然后调用display()函数显示此次输入的信息。

输入数字1后按提示输入相应信息,结果如下:

图9

显示所有图书信息

当选择按钮3,执行function=='3'的条件语句。

Main函数调用#include,利用如下语句:

cout<<"这是所有藏书:

"<

cout<<"*********************************"<

输出相应的提示信息和图案,然后调用函数display_all(),显示出所有信息。

图10

按条件查询

当选择按钮4,执行function=='4'的条件语句。

main函数调用#include,输出相应选择的提示,执行如下代码:

cout<<"请选择查询方式"<

cout<<"1按ISBN查询"<

cout<<"2按书名查询"<

cout<<"3按作者查询"<

cout<<"3按出版社查询"<

然后定义字符j和字符串search,此时j是作为按钮使用,search是为了输入你要查询的内容。

子按钮功能的实现再次调用#include文件,当输入好相应的信息,执行如下语句:

cout<<"以下是查询结果"<

cout<<"------------------------------"<

给出提示后执行搜索函数search_by_isbn(),同理利用search_by_name()、search_by_writer()实现书名查找,按作者查找的功能。

(1)按书号查询

查询书号为0001的图书

步骤一:

在主界面选择4。

步骤二:

回车后点击“1”,然后输入0001,回车。

图11

(2)按书名查询

查询书名为“高等数学”这本书

步骤一:

在主界面选择4。

步骤二:

回车后点击“2”,然后输入“高等数学”,回车

图12

(3)按作者名查询

步骤一:

在主界面选择4。

步骤二:

回车后点击“3”,然后输入“天路公考”,回车

图13

按书号删除图书信息

当选择按钮5,执行function=='5'的条件语句。

首先定义字符串a,然后main函数调用#include,输入相应的书号,接下来建立对象del(a,"","","","",""),调用删除函数delete_by_isbn(),实现删除功能。

例如删除0003号图书

步骤一:

在登陆界面输入“5”,回车;

步骤二:

按提示输入要删除的书号“0003”,回车。

图14

退出图书管理系统

当选择按钮6,执行function=='6'的条件语句。

此时执行空操作,跳出while循环,执行main函数后续语句,利用system("CLS");清屏后由写函数Book.write();把操作后的数据读入到文件中,最后调用头文件#include输出相应的提示信息后退出系统。

在登录界面输入“5”,回车。

图15

第5章结束语

这次课程设计历时三个星期,通过课程设计,我发现了自己的很多不足,知识上还存在很多漏洞,我看到了自己的实践经验还比较缺乏,理论联系实际的能力还急需提高。

当自己做的时候才知道好多地方不懂,然后又找来C++的书仔细看相关知识。

再做再改,虽然现在还有好多缺陷,但好歹也算是完成了。

为完成这次课程设计我确实付出很多,有苦有乐,这十几天的工作日子,怎么形容呢,每次做不出来就会心情不好,感觉自己什么都没有做成,慢慢的摸索着,开始入门,而且有了一点成就感,就这样每一次都比前一次收获多,心情也慢慢好了,而且我的系统也一天比一天的完善。

毕竟没有白费心血,以艰辛的付出最终还是获得不少回报!

总之,计算机是一门实践性很强的学科,要想学好,就必须多练习,多总结,只有这样,才能够更加深入地了解,才能够学会如何去运用它。

参考文献

[1]郑莉,董渊,何江舟.C++程序设计[M].清华大学出版社,2010.

[2]谭浩强.C程序设计[M].清华大学出版社.2007

[3]李强,贾云霞.VisualC++项目开发实践.北京:

中国铁道出版社,2004.

[4]李书贤.《C++Primer中文版》[M].人民邮电出版社

附录

源代码:

#include

#include//cstdio是将stdio.h的内容用C++头文件的形式表示出来。

#include//stdlib头文件即standardlibrary标准库头文件

usingnamespacestd;

#include

classbook

{

private:

stringisbn;//书号

stringname;//书名

stringwriter;//作者

stringpublisher;//出版社

stringtime;//出版时间

stringprice;//图书价格

public:

book(){}

book(stringa,stringb,stringc,stringd,stringe,stringf)

{isbn=a;

name=b;

writer=c;

publisher=d;

time=e;

price=f;

}

stringget_name()

{returnname;}

stringget_isbn()

{returnisbn;}

stringget_writer()

{returnwriter;}

stringget_publisher()

{returnpublisher;}

voiddisplay()//图书内容的显示

{

cout<<"-------------------------------"<

cout<<"ISBN号:

"<

"<

"<

"<

"<

"<

cout<<"-------------------------------"<

}

};

classdatabase:

publicbook//公有继承(public)的定义classB:

publicA{<派生类新定义成员>};

{

private:

bookshumu[100];

intsum;

public:

database(){sum=0;}

voidadd(booka)

{

if(sum>=100)

{

cout<<"添加失败,内存已满!

"<

}

else

{

shumu[sum]=a;

sum++;

cout<<"添加新书目成功,以下是本书信息"<

}

}

voidrebookinfo(booka)

{

intflag=0;

if(sum=0){cout<<"修改失败,已经没有存档了!

"<

else

{

for(inti=0;i

{if(shumu[i].get_isbn()==a.get_isbn())

{

cout<<"修改书目成功,以下是修改的书信息"<

//shumu[i].display();

break;

}

}

if(!

flag)

{cout<<"该书籍不存在!

"<

}

if(sum>=100)

{

cout<<"添加失败,内存已满!

"<

}

else

{

shumu[sum]=a;

sum++;

cout<<"添加新书目成功,以下是本书信息"<

}

if(sum>=100)

{

cout<<"添加失败,内存已满!

"<

}

else

{

shumu[sum]=a;

sum++;

cout<<"添加新书目成功,以下是本书信息"<

}

}

}

voiddelete_by_isbn(booka)//按编号删除

{intflag=0;

if(sum==0)

{cout<<"删除失败,已经没有存档了!

"<

}

else

{

for(inti=0;i

{if(shumu[i].get_isbn()==a.get_isbn())

{cout<<"删除书目成功,以下是删除的书信息"<

shumu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

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

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