手把手教你用c++做图书管理系统嘿,抬头!

添加功能:主要完成图书信息的添加,要求ISBN号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加。

查询功能:可按书名、ISBN号、作者、出版社进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”。

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

删除功能:主要完成图书信息的删除。输入要删除的ISBN号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。

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

(4)图书存盘:将当前程序中的图书信息存入文件中。

(5)读出信息:从文件中将图书信息读入程序。

这个简单,就这几个属性,直接上代码

classBook{public:Book();~Book();stringname;intISBN;intprice;//价格stringwriter;//作者stringpublishingHouse;//出版社intinStock;//库存};就把他放在Book.h头文件吧

定义bool类函数来判断用户输入的密码是否正确,随便写一字符串就好

intisExist(intisbn,vector&b){for(auto&i:b){//遍历这个Book类vector,判断ISBN是否唯一if(i.ISBN==isbn)return-1;}return0;}然后写添加书籍名称的函数

voidaddBookName(vector&b,Book&c){stringname;cout<<"请输入书名"<>name;c.name=name;}添加ISBN的函数,在其中插入判断ISBN是否唯一的函数

voidaddBookIsbn(vector&b,Book&c){intisbn;cout<<"请输入ISBN号"<>isbn;if(isExist(isbn,b)==-1)cout<<"ISBN号重复,请重新输入"<

voidaddBookWriter(vector&b,Book&c){stringwriter;cout<<"请输入作者"<>writer;c.writer=writer;}添加出版社的函数

voidaddBookPublishingHouse(vector&b,Book&c){stringchubanshe;cout<<"请输入出版社"<>chubanshe;c.publishingHouse=chubanshe;}添加库存的函数

voidaddBookInStock(vector&b,Book&c){intkucun;cout<<"请输入库存"<>kucun;c.inStock=kucun;}添加价格的函数

voidaddBookPrice(vector&b,Book&c){intjiage;cout<<"请输入价格"<>jiage;c.price=jiage;}最后一起调用,做添加图书的总函数

查找图书肯定要按多种条件查找先做一个菜单

voidshowMenu4(){cout<<"*************************************"<

接下来需要考虑的问题是书籍信息重复问题书名会重,一个作者会写好多本书,出版社也肯定不会只出一本书考虑到上述情况,查找结果可能不止一本书

还是先做查找书名的函数,参数传两个Book类的vector

voidfindBookName(vector&b,vector&c){stringname;cout<<"请输入您要查找的书籍名称"<>name;for(auto&i:b){if(i.name==name){c.push_back(i);}}}然后是查找作者的函数

voidfindBookWriter(vector&b,vector&c){stringwriter;cout<<"请输入您要查找的书籍作者"<>writer;for(auto&i:b){if(i.writer==writer){c.push_back(i);}}}还有查找出版社的函数

voidfindBookPublishingHouse(vector&b,vector&c){stringchubanshe;cout<<"请输入您要查找的书籍出版社"<>chubanshe;for(auto&i:b){if(i.publishingHouse==chubanshe){c.push_back(i);}}}最后是查找ISBN的函数,ISBN肯定是唯一的所以这种检索方式是最准确的但是为方便后续操作依旧传两个vector

voidfindBookIsbn(vector&b,vector&c){cout<<"请输入您要查找的书籍ISBN"<>ISBN;for(auto&i:b){if(i.ISBN==ISBN){c.push_back(i);Book::show(i);}}}查找之后肯定要把图书信息显示出来供使用者确认做一个展示图书信息的函数我写到了Book类里

voidBook::show(Bookb){cout<<"书名:"<

修改图书也简单,跟添加图书差不多吧无非就是修改单个信息肯定是要先找到图书,再去修改,所以函数中传一个vector和一本书就好

先做一个菜单

voidshowMenu5(){cout<<"*************************************"<

然后还是先做修改单个信息的函数修改书名的

voidmodifyBookName(vector&b,Book&c){stringname;cout<<"请输入修改后书名"<>name;inti=0;for(;i

voidmodifyBookIsbn(vector&b,Book&c){intisbn;cout<<"请输入修改后ISBN号"<>isbn;if(isExist(isbn,b)==-1)//判断ISBN是否重复{cout<<"ISBN重复,修改失败"<

voidmodifyBookWriter(vector&b,Book&c){stringzuozhe;cout<<"请输入修改后作者"<>zuozhe;inti=0;for(;i

voidmodifyBookChubanshe(vector&b,Book&c){stringchubanshe;cout<<"请输入修改后出版社"<>chubanshe;inti=0;for(;i

voidmodifyBookKucun(vector&b,Book&c){intkucun;cout<<"请输入修改后库存"<>kucun;inti=0;for(;i

voidmodifyBookJiage(vector&b,Book&c){intjiage;cout<<"请输入修改后价格"<>jiage;inti=0;for(;i

voidmodifyBookInformation(vector&b,Book&c){while(true){showMenu5();charchoose5;cin>>choose5;switch(choose5){case'1':{modifyBookName(b,c);break;}case'2':{modifyBookIsbn(b,c);break;}case'3':{modifyBookWriter(b,c);break;}case'4':{modifyBookChubanshe(b,c);break;}case'5':{modifyBookJiage(b,c);break;}case'6':{modifyBookKucun(b,c);break;}case'0':{cout<<"退出修改系统"<

同样也是先查找书籍再删除参数传一个vector和一本书

我把这个函数写到了Book类中

做一个修改书目的菜单函数,没什么要求(好看就行)

voidshowMenu3(){cout<<"*************************************"<

voidmodifyBook(vector&b,Book&c){showMenu3();charchoose4;cin>>choose4;switch(choose4){case'0'://退出{cout<<"退出修改系统"<

voidshowMenu2(){cout<<"*************************************"<

销售图书无非就是先检索出来判断库存,然后输出

直接上代码

voidbuyBook(vector&b){Bookmai=findBook(b);if(mai.ISBN!=-1){intnumber;cout<<"请输入要购买的数量"<>number;if(number>mai.inStock)//判断库存够不够{cout<<"库存不足,购买失败"<

voidshowMenu6(){cout<<"*********************************************"<

因为是用vector存储的书籍所以排序也是很容易操作直接用sort方法就可以故只需要自己定义比较函数

先定义比较ISBN的比较函数

boolisbnCmp(constBook&a,constBook&b){returna.ISBN>b.ISBN;}接着是库存比较函数

boolinStockCmp(constBook&a,constBook&b){if(a.inStock==b.inStock)returna.ISBN>b.ISBN;//库存相等的时候按ISBN排序returna.inStock>b.inStock;}然后是价格比较函数

boolpriceCmp(constBook&a,constBook&b){if(a.price==b.price)returna.ISBN>b.ISBN;//价格相等的时候按ISBN排序returna.price>b.price;}最后封装好统计函数

voidtongji(vector&b){showMenu6();charchoose6;cin>>choose6;switch(choose6){case'0'://退出{cout<<"退出统计系统"<

open函数要写打开模式

写入模式ios::out读取模式ios::in

具体操作方法如下保存Book类vector信息代码

接着先写一个类,就叫User叭

classUser{public:User(){}~User(){}stringuserName;stringpassword;};然后开始写注册函数当然也要判断用户名是否唯一

判断用户名是否唯一的函数代码

既然是存储用户信息的vector,当然也要保存在文件中同样加一个宏定义#defineFILENAME2"users.txt"

然后上代码

intmain(){vectorlib;vectorusers;fetchUser(users);fetchBook(lib);selectOption(lib,users);return0;}

THE END
1.C++实现简单的图书管理系统C语言本文给大家分享的是使用C++实现简单的图书管理系统的代码,本系统采用了面向对象的程序设计方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】今天再为大家介绍另一个常用的管理系统https://www.jb51.net/article/70568.htm
2.C++图书管理系统1、源代码# include<iostream>#include<iomanip># include<string># include<fstream>using namespace std;class bookpublic:void setall(int c,string n,string au,string pub,float p,string is);/对类屮的私有数据进行设置 void setcode(int t)code=t+l;void setname() cin?bookname;void setau() https://www.renrendoc.com/paper/162437730.html
3.C++图书管理系统(源代码+设计文档)图书管理系统 5星· 超过95%的资源95 浏览量2021-09-05上传622KBRAR 本科期间做的C++课程设计,包括了图书管理系统的C++源代码和详细设计文档,图书管理系统包括了图书添加、图书查找、图书删除、图书恢复、图书统计、输入记录、显示记录、保存数据文件、打开数据文件等功能,同时可以设置欢迎界面、界面颜色、登录密码等等https://download.csdn.net/download/weixin_43273308/21962679
4.C/C++项目开发之图书管理系统嵌入式技术hello,各位小伙伴们大家好!你们今天有敲代码嘛? 管理系统一直是我们计算机专业同学都要经历的项目设计,而管理系统的核心知识点其实都是一样的,无法就是换了个马甲,今天我们就来看看很多同学都会遇到的管理项目之一:图书管理系统! 用于图书信息的管理。包括图书信息的创建、图书信息的打印、图书信息的查询、图书信息的修https://www.elecfans.com/emb/202210281913516.html
5.图书管理系统C++代码,用Devc++5.11运行,出现的错误,怎么改?,C\马上注册,结交更多好友,享用更多功能^_^ 您需要登录才可以下载或查看,没有账号?立即注册 x #includehttps://fishc.com.cn/forum.php?mod=viewthread&tid=173319&ordertype=1
6.基于Ribbon界面的图书管理系统—win7+vs2010+MFC(源码)基于Ribbon界面的图书管理系统 只支持vs2010 采用了ribbon界面 数据库为access点赞(0) 踩踩(0) 反馈 所需:3 积分 电信网络下载 图书管理系统ACCESS及SQL版.rar 2024-12-19 12:35:59 积分:1 魔法单词记忆——DAO访问ACCESS数据库.rar 2024-12-19 12:33:01 积分:1 https://www.coder100.com/index/index/content/id/970015
7.基于Qt的简易图书管理系统设计与实现简介:基于Qt的简易图书管理系统设计与实现 Qt是一个功能强大的跨平台C++库,用于开发GUI应用程序。本文介绍了一个基于Qt的简易图书管理系统的设计与实现。该系统包括图书的增删改查、借阅管理以及用户管理等功能。文章最后将提供完整的Qt代码和运行结果。 1.引言 https://developer.aliyun.com/article/1470128
8.Java+Mysql图书管理系统(完整实训代码)腾讯云开发者社区这段代码展示了如何使用预编译的SQL语句来更新数据库,确保了性能和安全性。 5. 结论 Java图书管理系统是一个界面友好、功能完善的应用。不仅覆盖了图书管理的基本功能,还通过代码分析为初学者提供了学习的机会。 获取完整源代码 感谢您阅读这篇博文!如果您对这个项目感兴趣并想要查看完整的源代码,请访问我的GitHub仓https://cloud.tencent.com/developer/article/2398992
9.C++实现简单的图书管理系统今天再为大家介绍另一个常用的管理系统——图书管理系统,希望大家可以亲自动手实践一下,下面就与大家一起分享我的劳动成果。 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能: (1)图书信息录入功能(图书信息用文件保存) https://www.xiuzhanwang.com/a1/Cyuyan/2909.html
10.图书管理系统c++数据结构实验报告.docx该【图书管理系统 c++ 数据结构实验报告 】是由【das】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【图书管理系统 c++ 数据结构实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您https://www.taodocs.com/p-979278932.html
11.第6章图书管理系统(VisualC++6.0+SQLServer2014数据库实现)如何通过代码来改变按键功能 6.1 开发背景 视频讲解 随着现代图书流通市场竞争愈演愈烈,如何以一种便捷的管理方式加快图书流通信息的反馈速度,降低图书库存占用,缩短资金周转时间,提高工作效率,已经成为能否增强图书企业竞争力的关键问题。信息技术的飞速发展给图书企业的管理带来了全新的变革,采用图书管理系统对图书企业经营https://fanqienovel.com/reader/7176215736937876515
12.图书管理系统毕业论文网在图书馆管理中,图书管理系统是图书室的核心管理系统,是一个由人、计算机等组成的能进行管理信息收集、传递、加工、保存、维护和使用的系统。下面是我为大家整理的图书管理系统 毕业 论文,供大家参考。浅谈图书馆管理系统引言:校园图书馆自动化建设是国家 教育 信息化建设的一个重要组成部分。随着图书馆硬件设施的完善https://www.zboao.com/cgal/9114.html
13.21天学通C++(第8版)第3部分,“学习标准模板库(STL)”,将帮助您使用STL string类和容器编写高效而实用的C++代码。您将了解到,使用std::string可安全而轻松地拼接字符串,您不再需要使用C风格的字符串char*。您可使用STL动态数组和链表,而无需自己编写这样的类。 第4部分,“再谈STL”,专注于算法,您将学习如何通过迭代器对vector等容https://labs.epubit.com/bookDetails?id=N36952
14.C++实战——图书管理系统之美51CTO博客本文主要实现一个简单的图书管理系统。系统功能结构包括: (1)图书录入模块:该模块主要是提供给图书管理者使用。图书管理者应用该模块将图书信息录 入到系统,系统将图书信息保存到文件中。 (2)浏览全部图书记录模块:该模块提供给读者和图书管理者使用。图书管理者可以通过该模块查看图书是否存在,以及获取图书的编号,方便https://blog.51cto.com/u_15273495/2914295
15.C++课程设计(简单图书管理系统)6篇(全文)C++课程设计(简单图书管理系统) 第3篇 随着计算机技术的迅猛发展, 很多新的、高效的软件开发技术应运而生。《C++程序设计》就是应潮流与需求而发展起来的一门优秀的程序设计语言, 它受到许多计算机专业人士及程序设计人员的青睐,在很多高等院校中《C++程序设计》都被列为计算机专业教学体系中的一门重要的主干课。但https://www.99xueshu.com/w/fileiuknvdrv.html
16.包括C/C++JavaPythonGo语言数据结构与算法操作系统超过1000本的计算机经典书籍、个人笔记资料以及本人在各平台发表文章中所涉及的资源等。书籍资源包括C/C++、Java、Python、Go语言、数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经~ - wangtonhttps://github.com/wangtong1122/CS-Books