C++图书馆管理系统项目中部分功能代码实现(书籍推荐)
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++图书馆管理系统项目中部分功能代码实现(书籍推荐)的更多相关文章
- eclipse和myeclipse怎么在项目中查找指定代码?https://www.jb51.net/softjc/554889.html
有的童鞋,想eclipse和myeclipse整个项目中查找指定代码,由于补经常使用,可能会补熟悉.如果要去掉项目中所有的某个代码的话,找不到是灰常麻烦的,下面就简单说下怎么查找,希望对需要的人有用. ...
- Python计算一个项目中含有的代码行数
最近想要知道以前做过的project有多少行代码,因为文件太多,直接手工数效率太低,于是编写一个python程序用来计算一个project有多少代码行. 首先,在一个项目中,有很多子文件夹,子文件夹中 ...
- CAS Client集群环境的Session问题及解决方案介绍,下篇介绍作者本人项目中的解决方案代码
CAS Client集群环境的Session问题及解决方案 程序猿讲故事 2016-05-20 原文 [原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 之前写过一篇文章,介绍单点登 ...
- 解决在Vue项目中时常因为代码缩进导致页面报错的问题
前言 如果我们初次使用vue-cli来构建单页SPA应用,在撸代码的过程中有可能会遇到这种因为代码缩进导致 页面报错的问题,导致我们烦不胜烦.接下来我们就来看一看如何解决这个小问题... erro原因 ...
- 【原创】Vue项目中各种功能的实现
已完成: 后台的管理功能: 这里用的组件是 element-UI ====> NavMenu ◆首先是排版 : <div class="manage-page fillcont ...
- Scala:Java 项目中混入scala代码
Spark 是用Scala代码写的.为了调试Spark,做了如下尝试. 1.Eclipse下:Java 项目 ,Using Maven,编写了一个java 版Spark应用. Spark的代码(sca ...
- Java Web项目中的经典代码抽取
前言: 众所周知的,项目开发中做得最多的无非就是增删查改(CRUD)操作.自从国内Web项目开发渐渐盛行SSH框架之后,其开发开发流程也变得更加灵活:本文就项目开发中的业务层代码作个简单的抽取,供业内 ...
- 项目中常用功能,如:流媒体、健康数据(步数等)等-b
整理iOS开发中使用的各种流媒体和常用的高级功能.由于时间关系,目前只写了一部分功能,全部都采用的是系统方法,没用第三方,截图如下: screen1.png screen2.png 个人比较懒,不爱多 ...
- 不要在 _ASSERT() 宏中执行功能代码 AND RELEASE版调试办法
程序在DEBUG版正常运行,在RELEASE版就崩溃了,想调试找问题,却发现RELEASE版根本走不到断点... 需要在工程配置中将 Configuration Properties- ...
随机推荐
- Java 环境问题汇总
准备java环境时,需要设置JAVA_HOME 和 Path , CLASSPATH 环境变量,它们可以是用户变量,也可以是系统变量. 注意: 系统变量的路径排在用户变量之前. 其中,Windows操 ...
- javascript中的style只能取到在HTML中定义的css属性
如果在css中定义的 li{ width:100px; left:100px; top:; position:absolute; font-style:normal; } 这样执行: oli[0].s ...
- NET Core中使用Dapper操作Oracle存储过程
.NET Core中使用Dapper操作Oracle存储过程最佳实践 为什么说是最佳实践呢?因为在实际开发中踩坑了,而且发现网上大多数文章给出的解决方法都不能很好地解决问题.尤其是在获取类型为Or ...
- HDU 1029 一道微软面试题
http://acm.hdu.edu.cn/showproblem.php?pid=1029 给定一个数组,其中有一个相同的数字是出现了大于等于(n + 1) / 2次的.要求找出来. 1.明显排序后 ...
- python学习《一》
从词篇博客开始,记录python3.0学习笔记 python3里 字符串用双引号,或者单引号,包起来 3双引号和3单引号 代表换行
- 洛谷 P1807 最长路_NOI导刊2010提高(07)
最长路 #include <iostream> #include <cstdio> #include <cstring> #include <queue> ...
- 带你零基础入门redis【一】
本篇文章介绍在CentOS7系统安装redis,以及redis的简单操作 我们把redis安装在/usr/local目录下.分别执行以下命令 [root@VM_6_102_centos ~]# c ...
- Yii2.0数据库缓存依赖发布的使用理解
对于产品中经常需要生成一些缓存类的东西,比如系统基础配置,商品分类等,每次修改调整后都要手动进行缓存发布,是不是非常麻烦!这时候Yii2.0的缓存依赖发布就起到至关重要的作用了!现将主要的使用流程介绍 ...
- Got error 28 from storage engine的错误处理
早上例行检查数据库,发现Got error 28 from storage engine这个错误,天那,我的数据.心里哇凉....备份的时间还是很久以前.最近更新了不少,麻烦大了. 好在找到了解决方法 ...
- Locust安装教程与使用
Locust安装教程与使用官网地址:https://github.com/locustio/locust 如果是python3+以上的环境,需要下载locust项目源码进行安装 因Centos7.2环 ...