bool UserServiceImpl::Compare1(Book b1,Book b2)//按照借阅次数比较
{
if(b1.GetCnt() > b2.GetCnt())
{
return true;
}
else
{
return false;
}
}
bool UserServiceImpl::Compare2(Book b1,Book b2)//按照评分比较
{
if(b1.GetScore() > b2.GetScore())
{
return true;
}
else
{
return false;
}
}

//按照借阅次数来向读者推荐
void UserServiceImpl::Cnt()
{
books.clear();//清空书籍容器
b_dao->load(books);//读取书籍库文件存入到容器中
sort(books.begin(),books.end(),UserServiceImpl::Compare1);//比较函数
map<string,int>m;
cout << "\e[32m借阅次数前三图书\e[0m" << endl;
unsigned int i = 0;
int count = 0;
//信息显示
for(i = 0;i < books.size();i++)
{
if(3 <= count)
{
break;
}
if(0 != m[books[i].m_name])
{
continue;
}
++m[books[i].m_name];

cout << "\e[35m书名:\e[0m" << books[i].m_name << "\e[35m 编号:\e[0m" << books[i].m_id << "\e[35m 借阅次数:\e[0m" << books[i].GetCnt() << endl;

++count;
}
anykey_continue();//缓冲,清理缓存区
}

//按评分来向读者推荐
void UserServiceImpl::Soc()
{
books.clear();
b_dao->load(books);
sort(books.begin(),books.end(),UserServiceImpl::Compare2);
map<string,int>m;
cout << "\e[32m评分前三图书\e[0m" << endl;
unsigned int i = 0;
int count = 0;
for(i = 0;i < books.size();i++)
{
if(3 <= count)
{
break;
}
if(0 != m[books[i].m_name])
{
continue;
}
++m[books[i].m_name];

cout << "\e[35m书名:\e[0m" << books[i].m_name << "\e[35m 编号:\e[0m" << books[i].m_id << "\e[35m 评分:\e[0m" << books[i].GetScore() << endl;

++count;
}
anykey_continue();
}

C++图书馆管理系统项目中部分功能代码实现(书籍推荐)的更多相关文章

  1. eclipse和myeclipse怎么在项目中查找指定代码?https://www.jb51.net/softjc/554889.html

    有的童鞋,想eclipse和myeclipse整个项目中查找指定代码,由于补经常使用,可能会补熟悉.如果要去掉项目中所有的某个代码的话,找不到是灰常麻烦的,下面就简单说下怎么查找,希望对需要的人有用. ...

  2. Python计算一个项目中含有的代码行数

    最近想要知道以前做过的project有多少行代码,因为文件太多,直接手工数效率太低,于是编写一个python程序用来计算一个project有多少代码行. 首先,在一个项目中,有很多子文件夹,子文件夹中 ...

  3. CAS Client集群环境的Session问题及解决方案介绍,下篇介绍作者本人项目中的解决方案代码

    CAS Client集群环境的Session问题及解决方案  程序猿讲故事  2016-05-20  原文 [原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 之前写过一篇文章,介绍单点登 ...

  4. 解决在Vue项目中时常因为代码缩进导致页面报错的问题

    前言 如果我们初次使用vue-cli来构建单页SPA应用,在撸代码的过程中有可能会遇到这种因为代码缩进导致 页面报错的问题,导致我们烦不胜烦.接下来我们就来看一看如何解决这个小问题... erro原因 ...

  5. 【原创】Vue项目中各种功能的实现

    已完成: 后台的管理功能: 这里用的组件是 element-UI  ====> NavMenu ◆首先是排版 : <div class="manage-page fillcont ...

  6. Scala:Java 项目中混入scala代码

    Spark 是用Scala代码写的.为了调试Spark,做了如下尝试. 1.Eclipse下:Java 项目 ,Using Maven,编写了一个java 版Spark应用. Spark的代码(sca ...

  7. Java Web项目中的经典代码抽取

    前言: 众所周知的,项目开发中做得最多的无非就是增删查改(CRUD)操作.自从国内Web项目开发渐渐盛行SSH框架之后,其开发开发流程也变得更加灵活:本文就项目开发中的业务层代码作个简单的抽取,供业内 ...

  8. 项目中常用功能,如:流媒体、健康数据(步数等)等-b

    整理iOS开发中使用的各种流媒体和常用的高级功能.由于时间关系,目前只写了一部分功能,全部都采用的是系统方法,没用第三方,截图如下: screen1.png screen2.png 个人比较懒,不爱多 ...

  9. 不要在 _ASSERT() 宏中执行功能代码 AND RELEASE版调试办法

            程序在DEBUG版正常运行,在RELEASE版就崩溃了,想调试找问题,却发现RELEASE版根本走不到断点... 需要在工程配置中将 Configuration Properties- ...

随机推荐

  1. easyui---accordion(手风琴)

    首先配置好easyui环境 1.ACCORDION(手风琴) class:class=easyui-accordion, 事件: 查找: function selectPanel(){ //会弹出输入 ...

  2. 练习三十二:用python实现:按相反的顺序输出列表的每一位值

    用python实现:按相反的顺序输出列表的每一位值 1. 使用list[::-1] list1 = ["one","two","three" ...

  3. NET Core Web发布包

    给ASP.NET Core Web发布包做减法 https://www.cnblogs.com/sheng-jie/p/9122582.html 1.引言 紧接上篇:ASP.NET Core Web ...

  4. Java_面向对象的 static 和 abstract

    static:表示静态的 static:可以用来修饰属性.方法.代码块(或初始化块).内部类. 一.static修饰属性(类变量): public class TestStatic { //stati ...

  5. Java基础:(五)Object通用方法

    一.Object对象的九个方法 getClass():hashCode():equals():clone():toString():notify():notifyAll():wait():finali ...

  6. JS根据选择的日期计算年龄

    本例中用的是easyUI的datebox $('#cal_birthday').datebox({ onSelect: function(date){ //根据选则的日期计算年龄 //alert(da ...

  7. ios 设置cell的间距

    1.设置假的间距,我们在tableviewcell的contentView上添加一个view,比如让其距离上下左右的距离都是10:这个方法是最容易想到的: 2.用UIContentView来代替tab ...

  8. SQL Server 2016,2014 “无法找到数据库引擎启动句柄”

    当我决定安装SharePoint 2016 IT预览版时,我想我应该将它安装在Windows Server 2016技术预览版以及SQL Server 2016社区技术预览版(CTP)上.我敢打赌,你 ...

  9. 【Python图像特征的音乐序列生成】关于数据集的分享和样例数据

    数据集还在制作中,样例数据如下: 我将一条数据作为一行,X是ID,O代表了情感向量,S是速度,是一个很关键的参数,K是调式,M是节拍,L是基本拍.后面是ABC格式的序列,通过embedding化这些音 ...

  10. java面试题(杨晓峰)---第六讲谈谈动态代理是基于什么原理?

    我在编译时不知道,而在运行时知道,那么肯定在运行时给了提示,这个提示就是额外功.好处是可以重复利用相同代码. 代理模式:通过代理静默的解决一些与业务无关的问题,例如远程,安全,事物,日志,资源关闭,. ...