添加功能:主要完成图书信息的添加,要求ISBN号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加。
查询功能:可按书名、ISBN号、作者、出版社进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”。
修改功能:可根据查询结果对相应的记录进行修改,修改时注意ISBN号的唯一性。
删除功能:主要完成图书信息的删除。输入要删除的ISBN号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。
(3)统计功能。输出当前书库中所有图书的总数及详细信息;可按书的价格、库存量、作者、出版社进行统计,输出统计信息时,要按从大到小进行排序。
(4)图书存盘:将当前程序中的图书信息存入文件中。
(5)读出信息:从文件中将图书信息读入程序。
这个简单,就这几个属性,直接上代码
classBook{public:Book();~Book();stringname;intISBN;intprice;//价格stringwriter;//作者stringpublishingHouse;//出版社intinStock;//库存};就把他放在Book.h头文件吧
定义bool类函数来判断用户输入的密码是否正确,随便写一字符串就好
intisExist(intisbn,vector
voidaddBookName(vector
voidaddBookIsbn(vector voidaddBookWriter(vector voidaddBookPublishingHouse(vector voidaddBookInStock(vector voidaddBookPrice(vector 查找图书肯定要按多种条件查找先做一个菜单 voidshowMenu4(){cout<<"*************************************"< 接下来需要考虑的问题是书籍信息重复问题书名会重,一个作者会写好多本书,出版社也肯定不会只出一本书考虑到上述情况,查找结果可能不止一本书 还是先做查找书名的函数,参数传两个Book类的vector voidfindBookName(vector voidfindBookWriter(vector voidfindBookPublishingHouse(vector voidfindBookIsbn(vector voidBook::show(Bookb){cout<<"书名:"< 修改图书也简单,跟添加图书差不多吧无非就是修改单个信息肯定是要先找到图书,再去修改,所以函数中传一个vector和一本书就好 先做一个菜单 voidshowMenu5(){cout<<"*************************************"< 然后还是先做修改单个信息的函数修改书名的 voidmodifyBookName(vector voidmodifyBookIsbn(vector voidmodifyBookWriter(vector voidmodifyBookChubanshe(vector voidmodifyBookKucun(vector voidmodifyBookJiage(vector voidmodifyBookInformation(vector 同样也是先查找书籍再删除参数传一个vector和一本书 我把这个函数写到了Book类中 做一个修改书目的菜单函数,没什么要求(好看就行) voidshowMenu3(){cout<<"*************************************"< voidmodifyBook(vector voidshowMenu2(){cout<<"*************************************"< 销售图书无非就是先检索出来判断库存,然后输出 直接上代码 voidbuyBook(vector 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 open函数要写打开模式 写入模式ios::out读取模式ios::in 具体操作方法如下保存Book类vector信息代码 接着先写一个类,就叫User叭 classUser{public:User(){}~User(){}stringuserName;stringpassword;};然后开始写注册函数当然也要判断用户名是否唯一 判断用户名是否唯一的函数代码 既然是存储用户信息的vector,当然也要保存在文件中同样加一个宏定义#defineFILENAME2"users.txt" 然后上代码 intmain(){vector