用书名书号作者查询的图书管理系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<"\t\t\t\t1 创建新书信息"<<endl;
cout<<"\t\t\t\t2 显示所有图书"<<endl;
cout<<"\t\t\t\t3 按指定条件查询书目"<<endl;
cout<<"\t\t\t\t4 按书号删除书目"<<endl;
cout<<"\t\t\t\t5 退出系统并保存修改"<<endl;
{
cout<<"书号:"<<isbn<<endl<<"书名:"<<name<<endl<<"作者:"<<writer<<endl<<"出版社:"<<publisher<<endl<<"出版时间:"<<time<<endl<<"价格:"<<price<<"元"<<endl<<"*********************************"<<endl;
用类和对象实现新书上架、 图书浏览、 图书查询、图书下架。
该系统需要完成的整体目标:
系统能够正常运行,基本上实现添加、删除图书信息,显示所有信息,能够由相应条件查阅图书信息这四种功能。
2
必须完成的模块:
(1)界面模块:当进入该管理系统时候,提示相应的说明,引导如何操作
(2) 新书上架模块:能够添加书号、书名、作者名、出版社、出版时间、价格这些图书信息。
选题意义:借助计算机C++中的知识,编写相应的图书管理程序就可以实现这一功能。利用图书管理程序记录图书信息,不仅能节省我们大量的工作时间,减轻巨大的工作量,提高工作效率,还能够减少工作失误。
1.3团队分工和个人贡献
第一章 概述
第四章 系统实现
源代码中:
(1)图书浏览功能
(2)图书删除功能
第
2
该系统需要完成的内容:
在登录界面输入“5”,回车。
第
这次课程设计历时数个星期,通过课程设计,我发现了自己的很多不足,知识上还存在很多漏洞,我看到了自己的实践经验还比较缺乏,理论联系实际的能力还急需提高。
为完成这次课程设计我确实付出很多,有苦有乐,这十几天的工作日子,怎么形容呢,每次在实验室回来就会心情不好,感觉自己什么都没有做成,慢慢的摸索着,开始入门,而且有了一点成就感,就这样每一次都比前一次收获多,心情也慢慢好了,而且我的系统也一天比一天的完善。毕竟没有白费心血,以艰辛的付出最终还是获得不少回报!
(3) 图书浏览模块:能够输出所有图书信息。
(4) 图书查询模块:可按条件查询图书信息,当输入书号或书名或作者名时候,相对应的图书信息便可自动搜索出来。
(5) 图书下架模块:可按书号删除指定图书信息。
创新模块:
2.3系统主要模块流程图
注:数字代表相应操作下的子操作
第
3
3
(1)登陆界面模块。该模块显示管理程序的名称,提示相应的操作。
《C++程序设计》课程设计
设计说明书
课程名称:《C++程序设计》课程设计
设计题目:图书管理程序
指导教师:
班 级:
学 号:
学生姓名:
同组人员:
计算机科学与工程学院
2014年06月 20 日
第
1.1
第十题:图书管理程序
图书信息的组成部分为:书号、书名、作者名、出版社、出版时间、价格等。要求用类和对象实现:
总之,计算机是一门实践性很强的学科,要想学好,就必须多练习,多总结,只有这样,才能够更加深入地了解,才能够学会如何去运用它。
参考文献
[1]郑莉,董渊,何江舟.C++程序设计[M].清华大学出版社,2010.
[2]谭浩强.C程序设计[M].清华大学出版社.2007
[3]李强,贾云霞.Visual C++项目开发实践.北京:中国铁道出版社,2004.
步骤二:按提示输入要删除的书号“001”,回车。
6、退出图书管理系统
当选择按钮5,执行function=='5'的条件语句。此时执行空操作,跳出while循环,执行main函数后续语句,利用system("CLS");清屏后由写函数Book.write ();把操作后的数据读入到文件中,最后调用头文件#include<iostream>输出相应的提示信息后退出系统。
classbook
{private:
string isbn;//书号
string name;//书名
string writer;//作者
string publisher;//出版社
string time;//出版时间
string price;//图书价格
public:
bቤተ መጻሕፍቲ ባይዱok(){}
book(string a,string b,string c,string d,string e,string f)
界面主要程序语句:
cout<<endl;
cout<<"\t******************************************************************\n";
cout<<"\t\t\t\t欢迎使用图书管理系统"<<endl;
cout<<"\t\t\t\t\t请选择操作\n"<<endl;
(2)信息录入模块。
(2)图书浏览模块
(3)图书查询模块
(4)图书下架模块
第
1登入界面
实现方式:
调用主函数,利用Book.read ()读入数据,同时定义功能选项按钮char function='0';,对function的真假进行判断,若function为真,即与初值相同,实现while循环内语句。
cout<<"*********************************"<<endl;
给出提示后执行搜索函数search_by_isbn(),同理利用search_by_name()、search_by_writer()实现书名查找,按作者查找的功能。
(1)按书号查询
查询书号为001的图书
cout<<"2 按书名查询"<<endl;
cout<<"3 按作者查询"<<endl;
然后定义字符j和字符串search,此时j是作为按钮使用,search是为了输入你要查询的内容。子按钮功能的实现再次调用#include<iostream>文件,当输入好相应的信息,执行如下语句:
cout<<"以下是查询结果"<<endl;
{ cout<<"添加失败,内存已满!"<<endl;
}
else
{shumu[sum]=a;
sum++;
cout<<"添加新书目成功,以下是本书信息"<<endl;
cout<<"*********************************"<<endl;
}
}
voiddelete_by_isbn(book a)
步骤一:在主界面选择3
步骤二:回车后点击“1”,然后输入001,回车。
(2)按书名查询
查询书名为“考研英语”这本书
步骤一:在主界面选择3
步骤二:回车后点击“2”,然后输入“考研英语”,回车
(3)按作者名查询
步骤一:在主界面选择3
步骤二:回车后点击“3”,然后输入“宫东风”,回车
5、按书号删除图书信息
输入数字1后按提示输入相应信息,结果如下:
3、显示所有图书信息
当选择按钮2,执行function=='2'的条件语句。Main函数调用#include<iostream>,利用如下语句:
cout<<"这是所有藏书:"<<endl;
cout<<"*********************************"<<endl;
{intflag=0;
for(inti=0;i<sum;i++)
{if(shumu[i].get_isbn()==names)
{ shumu[i].display ();
flag=1;}
}
};
classdatabase:publicbook//公有继承(public)的定义class B:public A{ < 派生类新定义成员> };
{private:
book shumu[100];
intsum;
public:
database(){sum=0;}
voidadd(book a)
{
if(sum>=100)
{intflag=0;
for(inti=0;i<sum;i++)
{if(shumu[i].get_name()==names)
{ shumu[i].display ();
flag=1;}
}
if(flag==0)
{cout<<"the book does't exist!"<<endl;
}
}
voidsearch_by_isbn(string names)//按书号查找
{intflag=0;
if(sum==0)
{cout<<"删除失败,已经没有存档了!"<<endl;
}
else
{
for(inti=0;i<sum;i++)
{if(shumu[i].get_isbn()==a.get_isbn())
{ cout<<"删除书目成功,以下是删除的书信息"<<endl;
shumu[i].display ();
cout<<"\t\t\t(查询可按书号/ 作者/ 书名查询)"<<endl;
cout<<"\t******************************************************************\n";
调试运行代码后结果如下:
2、创建图书信息
当选择按钮1,执行main函数中function=='1'的条件语句,首先定义字符串string a,b,c,d,e,f; 然后调用#include<iostream>,根据提示输入相应的书本信心,建立对象book newbook(a,b,c,d,e,f);,利用添加函数Book.add(newbook)把数据添加到新建对象里,然后调用display()函数显示此次输入的信息。
[4]李书贤.《C++Primer中文版》[M].人民邮电出版社
附录
源代码:
#include<iostream>
#include<cstdio>
#include<stdlib.h>//cstdio是将stdio.h的内容用C++头文件的形式表示出来。
usingnamespacestd;
#include<string>
for(intj=i;j<sum-1;j++)
{ shumu[j]=shumu[j+1]; }
flag=1;
sum--;
break;}
}
if(!flag)
{cout<<"the book does't exist!"<<endl;
}
}
}
voidsearch_by_name(string names)//按书名查找
{ isbn=a;
name= b;
writer=c;
publisher=d;
time=e;
price=f;
}
string get_name()
{returnname;}
string get_isbn()
{returnisbn;}
string get_writer()
{returnwriter;}
voiddisplay()//图书内容的显示
1) 新书上架:添加图书信息
2) 图书浏览:输出所有图书信息
3) 图书查询:可按书号、书名或作者名查询(按书号查询时,因书号唯一,结果仅为一条记录;按书名或作者名查询时,结果可能为多条记录)
4)图书下架:删除指定图书信息,如按书号
1.2
选题背景:图书馆是我们日常生活中必不可少的学习、阅读的场所,借阅图书则是我们进入图书馆进行阅读的首要行为。为了能够借阅到我们想要借阅的图书,我们需要借助电脑查询需要借阅的图书的具体信息,然后找出图书后再去借阅处刷卡登记。如今我们处于一个知识大爆炸的时代,图书种类数量剧增,工作人员每天不仅要登记借阅者借阅的图书,还要登记新购进的图书,工作量繁重。而随着科学技术的进步,计算机日益进入我们的生活工作之中,我们能否利用计算机技术,取代原来的手工登记,提高图书管理的效率呢?答案是肯定的。
输出相应的提示信息和图案,然后调用函数display_all (),显示出所有信息。
4、按条件查询
当选择按钮3,执行function=='3'的条件语句。main函数调用#include<iostream>,输出相应选择的提示,执行如下代码:
cout<<"请选择查询方式"<<endl;
cout<<"1 按ISBN查询"<<endl;
当选择按钮4,执行function=='4'的条件语句。首先定义字符串a,然后main函数调用#include<iostream>,输入相应的书号,接下来建立对象del(a," "," "," "," "," "),调用删除函数delete_by_isbn(),实现删除功能。
例如删除001号图书
步骤一:在登陆界面输入“4”,回车;
cout<<"\t\t\t\t2 显示所有图书"<<endl;
cout<<"\t\t\t\t3 按指定条件查询书目"<<endl;
cout<<"\t\t\t\t4 按书号删除书目"<<endl;
cout<<"\t\t\t\t5 退出系统并保存修改"<<endl;
{
cout<<"书号:"<<isbn<<endl<<"书名:"<<name<<endl<<"作者:"<<writer<<endl<<"出版社:"<<publisher<<endl<<"出版时间:"<<time<<endl<<"价格:"<<price<<"元"<<endl<<"*********************************"<<endl;
用类和对象实现新书上架、 图书浏览、 图书查询、图书下架。
该系统需要完成的整体目标:
系统能够正常运行,基本上实现添加、删除图书信息,显示所有信息,能够由相应条件查阅图书信息这四种功能。
2
必须完成的模块:
(1)界面模块:当进入该管理系统时候,提示相应的说明,引导如何操作
(2) 新书上架模块:能够添加书号、书名、作者名、出版社、出版时间、价格这些图书信息。
选题意义:借助计算机C++中的知识,编写相应的图书管理程序就可以实现这一功能。利用图书管理程序记录图书信息,不仅能节省我们大量的工作时间,减轻巨大的工作量,提高工作效率,还能够减少工作失误。
1.3团队分工和个人贡献
第一章 概述
第四章 系统实现
源代码中:
(1)图书浏览功能
(2)图书删除功能
第
2
该系统需要完成的内容:
在登录界面输入“5”,回车。
第
这次课程设计历时数个星期,通过课程设计,我发现了自己的很多不足,知识上还存在很多漏洞,我看到了自己的实践经验还比较缺乏,理论联系实际的能力还急需提高。
为完成这次课程设计我确实付出很多,有苦有乐,这十几天的工作日子,怎么形容呢,每次在实验室回来就会心情不好,感觉自己什么都没有做成,慢慢的摸索着,开始入门,而且有了一点成就感,就这样每一次都比前一次收获多,心情也慢慢好了,而且我的系统也一天比一天的完善。毕竟没有白费心血,以艰辛的付出最终还是获得不少回报!
(3) 图书浏览模块:能够输出所有图书信息。
(4) 图书查询模块:可按条件查询图书信息,当输入书号或书名或作者名时候,相对应的图书信息便可自动搜索出来。
(5) 图书下架模块:可按书号删除指定图书信息。
创新模块:
2.3系统主要模块流程图
注:数字代表相应操作下的子操作
第
3
3
(1)登陆界面模块。该模块显示管理程序的名称,提示相应的操作。
《C++程序设计》课程设计
设计说明书
课程名称:《C++程序设计》课程设计
设计题目:图书管理程序
指导教师:
班 级:
学 号:
学生姓名:
同组人员:
计算机科学与工程学院
2014年06月 20 日
第
1.1
第十题:图书管理程序
图书信息的组成部分为:书号、书名、作者名、出版社、出版时间、价格等。要求用类和对象实现:
总之,计算机是一门实践性很强的学科,要想学好,就必须多练习,多总结,只有这样,才能够更加深入地了解,才能够学会如何去运用它。
参考文献
[1]郑莉,董渊,何江舟.C++程序设计[M].清华大学出版社,2010.
[2]谭浩强.C程序设计[M].清华大学出版社.2007
[3]李强,贾云霞.Visual C++项目开发实践.北京:中国铁道出版社,2004.
步骤二:按提示输入要删除的书号“001”,回车。
6、退出图书管理系统
当选择按钮5,执行function=='5'的条件语句。此时执行空操作,跳出while循环,执行main函数后续语句,利用system("CLS");清屏后由写函数Book.write ();把操作后的数据读入到文件中,最后调用头文件#include<iostream>输出相应的提示信息后退出系统。
classbook
{private:
string isbn;//书号
string name;//书名
string writer;//作者
string publisher;//出版社
string time;//出版时间
string price;//图书价格
public:
bቤተ መጻሕፍቲ ባይዱok(){}
book(string a,string b,string c,string d,string e,string f)
界面主要程序语句:
cout<<endl;
cout<<"\t******************************************************************\n";
cout<<"\t\t\t\t欢迎使用图书管理系统"<<endl;
cout<<"\t\t\t\t\t请选择操作\n"<<endl;
(2)信息录入模块。
(2)图书浏览模块
(3)图书查询模块
(4)图书下架模块
第
1登入界面
实现方式:
调用主函数,利用Book.read ()读入数据,同时定义功能选项按钮char function='0';,对function的真假进行判断,若function为真,即与初值相同,实现while循环内语句。
cout<<"*********************************"<<endl;
给出提示后执行搜索函数search_by_isbn(),同理利用search_by_name()、search_by_writer()实现书名查找,按作者查找的功能。
(1)按书号查询
查询书号为001的图书
cout<<"2 按书名查询"<<endl;
cout<<"3 按作者查询"<<endl;
然后定义字符j和字符串search,此时j是作为按钮使用,search是为了输入你要查询的内容。子按钮功能的实现再次调用#include<iostream>文件,当输入好相应的信息,执行如下语句:
cout<<"以下是查询结果"<<endl;
{ cout<<"添加失败,内存已满!"<<endl;
}
else
{shumu[sum]=a;
sum++;
cout<<"添加新书目成功,以下是本书信息"<<endl;
cout<<"*********************************"<<endl;
}
}
voiddelete_by_isbn(book a)
步骤一:在主界面选择3
步骤二:回车后点击“1”,然后输入001,回车。
(2)按书名查询
查询书名为“考研英语”这本书
步骤一:在主界面选择3
步骤二:回车后点击“2”,然后输入“考研英语”,回车
(3)按作者名查询
步骤一:在主界面选择3
步骤二:回车后点击“3”,然后输入“宫东风”,回车
5、按书号删除图书信息
输入数字1后按提示输入相应信息,结果如下:
3、显示所有图书信息
当选择按钮2,执行function=='2'的条件语句。Main函数调用#include<iostream>,利用如下语句:
cout<<"这是所有藏书:"<<endl;
cout<<"*********************************"<<endl;
{intflag=0;
for(inti=0;i<sum;i++)
{if(shumu[i].get_isbn()==names)
{ shumu[i].display ();
flag=1;}
}
};
classdatabase:publicbook//公有继承(public)的定义class B:public A{ < 派生类新定义成员> };
{private:
book shumu[100];
intsum;
public:
database(){sum=0;}
voidadd(book a)
{
if(sum>=100)
{intflag=0;
for(inti=0;i<sum;i++)
{if(shumu[i].get_name()==names)
{ shumu[i].display ();
flag=1;}
}
if(flag==0)
{cout<<"the book does't exist!"<<endl;
}
}
voidsearch_by_isbn(string names)//按书号查找
{intflag=0;
if(sum==0)
{cout<<"删除失败,已经没有存档了!"<<endl;
}
else
{
for(inti=0;i<sum;i++)
{if(shumu[i].get_isbn()==a.get_isbn())
{ cout<<"删除书目成功,以下是删除的书信息"<<endl;
shumu[i].display ();
cout<<"\t\t\t(查询可按书号/ 作者/ 书名查询)"<<endl;
cout<<"\t******************************************************************\n";
调试运行代码后结果如下:
2、创建图书信息
当选择按钮1,执行main函数中function=='1'的条件语句,首先定义字符串string a,b,c,d,e,f; 然后调用#include<iostream>,根据提示输入相应的书本信心,建立对象book newbook(a,b,c,d,e,f);,利用添加函数Book.add(newbook)把数据添加到新建对象里,然后调用display()函数显示此次输入的信息。
[4]李书贤.《C++Primer中文版》[M].人民邮电出版社
附录
源代码:
#include<iostream>
#include<cstdio>
#include<stdlib.h>//cstdio是将stdio.h的内容用C++头文件的形式表示出来。
usingnamespacestd;
#include<string>
for(intj=i;j<sum-1;j++)
{ shumu[j]=shumu[j+1]; }
flag=1;
sum--;
break;}
}
if(!flag)
{cout<<"the book does't exist!"<<endl;
}
}
}
voidsearch_by_name(string names)//按书名查找
{ isbn=a;
name= b;
writer=c;
publisher=d;
time=e;
price=f;
}
string get_name()
{returnname;}
string get_isbn()
{returnisbn;}
string get_writer()
{returnwriter;}
voiddisplay()//图书内容的显示
1) 新书上架:添加图书信息
2) 图书浏览:输出所有图书信息
3) 图书查询:可按书号、书名或作者名查询(按书号查询时,因书号唯一,结果仅为一条记录;按书名或作者名查询时,结果可能为多条记录)
4)图书下架:删除指定图书信息,如按书号
1.2
选题背景:图书馆是我们日常生活中必不可少的学习、阅读的场所,借阅图书则是我们进入图书馆进行阅读的首要行为。为了能够借阅到我们想要借阅的图书,我们需要借助电脑查询需要借阅的图书的具体信息,然后找出图书后再去借阅处刷卡登记。如今我们处于一个知识大爆炸的时代,图书种类数量剧增,工作人员每天不仅要登记借阅者借阅的图书,还要登记新购进的图书,工作量繁重。而随着科学技术的进步,计算机日益进入我们的生活工作之中,我们能否利用计算机技术,取代原来的手工登记,提高图书管理的效率呢?答案是肯定的。
输出相应的提示信息和图案,然后调用函数display_all (),显示出所有信息。
4、按条件查询
当选择按钮3,执行function=='3'的条件语句。main函数调用#include<iostream>,输出相应选择的提示,执行如下代码:
cout<<"请选择查询方式"<<endl;
cout<<"1 按ISBN查询"<<endl;
当选择按钮4,执行function=='4'的条件语句。首先定义字符串a,然后main函数调用#include<iostream>,输入相应的书号,接下来建立对象del(a," "," "," "," "," "),调用删除函数delete_by_isbn(),实现删除功能。
例如删除001号图书
步骤一:在登陆界面输入“4”,回车;