// STLを使うとwarningが出る可能性があるので、それを出さないようにする
#pragma warning (disable:4786)
using namespace std;
#include<map>
#include<iostream>
#include <iomanip>
#include"String.h" // 04-19で作ったもの
using namespace std;
void main(){
cout << setiosflags( ios::left ) << flush;
// multimapを宣言
multimap<String, String> m;
// データの追加
m.insert(pair<String, String>("Ishibashi", "大型2種自動車免許"));
m.insert(pair<String, String>("Ishibashi", "デジタル3種工事担任者"));
m.insert(pair<String, String>("Sekiguchi", "第2種情報処理技術者"));
m.insert(pair<String, String>("Sekiguchi", "第1種情報処理技術者"));
m.insert(pair<String, String>("Sekiguchi", "甲種危険物取扱者"));
m.insert(pair<String, String>("Sekiguchi", "毒物劇物取り扱い技術者"));
m.insert(pair<String, String>("Tsutsui", "第4級アマチュア無線技士"));
multimap<String, String>::iterator itr = m.begin();
multimap<String, String>::iterator itrEnd = m.end();
// まずはすべて表示
for( ; itr != itrEnd ; itr++ )
cout << setw(20) << itr->first << setw(30) << itr->second << endl;
cout << endl << endl;
// Sekiguchiのデータだけを表示
pair<multimap<String, String>::iterator, multimap<String, String>::iterator> p = m.equal_range("Sekiguchi");
for( ; p.first != p.second ; p.first++ )
cout << setw(20) << (p.first)->first << setw(30) << (p.first)->second << endl;
}
|