• C++ STL map A1022. Digital Library(30) (注意字符串的读入)


    #include <bits/stdc++.h>
    #include<math.h>
    #include <string>
    using namespace std;
    //5个map变量分别建立书名,作者,关键词,出版社及出版年份与id的映射关系
    map<string,set<int>> mpTitle,mpAuthor,mpKey,mpPub,mpYear;
    void query(map<string,set<int>>& mp,string& str){
        if(mp.find(str) == mp.end()){
            printf("Not Found
    ");
        }else{
            for(set<int>::iterator it = mp[str].begin();it != mp[str].end();++it){
                printf("%d
    ",*it);
            }
        }
    }
    int main(){
        int n,m,id,type;
        string title,author,key,pub,year;
        scanf("%d",&n);//书的数目
        for(int i =0;i<n;++i){
            scanf("%d",&id);
            char c = getchar();//接收掉id后面的换行
            getline(cin,title);//读入书名title
            mpTitle[title].insert(id);
            getline(cin,author);//读入作者author
            mpAuthor[author].insert(id);
            while(cin>>key){
                mpKey[key].insert(id);
                c = getchar();
                if(c == '
    '){
                    break;
                }
            }
            getline(cin,pub);
            mpPub[pub].insert(id);
            getline(cin,year);
            mpYear[year].insert(id);
        }
        string temp;
        scanf("%d",&m);
        for(int i =0;i<m;++i){
            scanf("%d:",&type);
            getline(cin,temp);
            cout<<type<<": "<<temp<<endl;
            if(type == 1){
                query(mpTitle,temp);
            }else if(temp == 2){
                query(mpAuthor,temp);
            }else if(temp == 3){
                query(mpKey,temp);
            }else if(temp == 4){
                query(mpPub,temp);
            }else{
                query(mpYear,temp);
            }
        }
        system("pause");
        return 0;
    } 
  • 相关阅读:
    google git的使用方法
    C/C++ 开发库 | C/C++ Development Library
    log4cplus c++开源日志系统
    c++配置类
    Markdown基础语法
    Nhibernate 映射关系,一对多 多对一与多对手在映射文件中的体现。
    Nhibernate refers to an unmapped class nhibernate问题的解决(初学者)
    UICollectionView的使用
    Runloop
    UITableView(转)
  • 原文地址:https://www.cnblogs.com/JasonPeng1/p/12205053.html
Copyright © 2020-2023  润新知