频道栏目
首页 > 资讯 > 其他 > 正文

图书管理系统思路与代码分享

18-07-31        来源:[db:作者]  
收藏   我要投稿

比较考验关联容器之间的运用和字符串的相关知识的运用

下面代码有解析

#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef struct Node{
	string book,name;//定义一个结构体 表示一个整体 有book,name 
	bool operator<(const struct Node&a)const{//因为要排序,所以重新定义<,加上set是自动排序,就按照我们规定的排了; 
	if(name!=a.name)return namest;//集合为了存放一个整体; 表示已上架的书 
	mapmp;//用来存放book,name; 
	string s;
	node de;
	int p;//主要是找  "; 
	while(getline(cin,s)){
		if(s[0]=='E')
		break;
		p=s.find('"',1);//find()返回下标  意思是从下标为1开始找 默认下标为0;
		de.book=s.substr(0,p+1);//substr()  就是从某一个下标到另一个下标
		de.name=s.substr(p+5);//如果为一个 则到末尾; 
		st.insert(de);
		mp.insert(make_pair(de.book,de.name));//注意赋值的方式; 
	}
	setst1;//定义了一个集合 存放归还的未上架 ; 
	while(getline(cin,s)){
		if(s[0]=='E') break;
		if(s[0]=='S'){
			set::iterator it,it1;
			for(it=st1.begin();it!=st1.end();it++){
				cout<<"Put "<< it->book <<" ";
				it1=st.lower_bound(*it);
				if(st.empty()||it==st.begin())//找第一个比it大的下标 
				cout<<"first"<book<

 

相关TAG标签
上一篇:生成括号问题的解决思路
下一篇:Windows10系统提升运行速度的优化教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站