/*
* mapphonebook.cpp
*
* Created on: Mar 19, 2012
* Author: cskim
*/
#include <iostream>
#include <string>
#include <map>
#include <string>
using namespace std;
class Entry {
public:
Entry(){
phoneName = "";
phoneNumber = -1;
}
Entry(string s, int n) {
phoneName = s;
phoneNumber = n;
}
string phoneName;
int phoneNumber;
};
#ifndef MAPPHONEBOOK_H_
#define MAPPHONEBOOK_H_
int findMap(string fname);
string find_Map(int number);
bool insertMap(string name, int number);
bool removeMap(string name);
bool updateMap(string name, int number);
void listAllMap();
#endif /* MAPPHONEBOOK_H_ */
using namespace std;
#include "Entry.h"
#include "mapphonebook.h"
typedef map<string, int>::const_iterator CMIter;
typedef map<string, int>::iterator MIter;
map<string, int> mapPhoneBook;
int findMap(string fname){
return mapPhoneBook[fname];
}
string find_Map(int number){
}
bool insertMap(string name, int number){
mapPhoneBook[name] = number;
return true;
}
bool removeMap(string name){
MIter iter = mapPhoneBook.find(name);
if (iter == mapPhoneBook.end())
return false;
mapPhoneBook.erase(iter);
return true;
}
bool updateMap(string name, int number){
mapPhoneBook[name] = number;
return true;
}
void listAllMap(){
for (CMIter i=mapPhoneBook.begin(); i!=mapPhoneBook.end(); i++) {
cout << i->first << " " << i->second << endl;
}
}
LyoKICogbWFwcGhvbmVib29rLmNwcAogKgogKiAgQ3JlYXRlZCBvbjogTWFyIDE5LCAyMDEyCiAqICAgICAgQXV0aG9yOiBjc2tpbQogKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgoKI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEVudHJ5IHsKcHVibGljOgoJRW50cnkoKXsKCQlwaG9uZU5hbWUgPSAiIjsKCQlwaG9uZU51bWJlciA9IC0xOwoJfQoJRW50cnkoc3RyaW5nIHMsIGludCBuKSB7CgkJcGhvbmVOYW1lID0gczsKCQlwaG9uZU51bWJlciA9IG47Cgl9CglzdHJpbmcgcGhvbmVOYW1lOwoJaW50IHBob25lTnVtYmVyOwp9OwojaWZuZGVmIE1BUFBIT05FQk9PS19IXwojZGVmaW5lIE1BUFBIT05FQk9PS19IXwoKaW50IGZpbmRNYXAoc3RyaW5nIGZuYW1lKTsKc3RyaW5nIGZpbmRfTWFwKGludCBudW1iZXIpOwpib29sIGluc2VydE1hcChzdHJpbmcgbmFtZSwgaW50IG51bWJlcik7CmJvb2wgcmVtb3ZlTWFwKHN0cmluZyBuYW1lKTsKYm9vbCB1cGRhdGVNYXAoc3RyaW5nIG5hbWUsIGludCBudW1iZXIpOwp2b2lkIGxpc3RBbGxNYXAoKTsKCgoKI2VuZGlmIC8qIE1BUFBIT05FQk9PS19IXyAqLwoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNpbmNsdWRlICJFbnRyeS5oIgojaW5jbHVkZSAibWFwcGhvbmVib29rLmgiCgp0eXBlZGVmIG1hcDxzdHJpbmcsIGludD46OmNvbnN0X2l0ZXJhdG9yIENNSXRlcjsKdHlwZWRlZiBtYXA8c3RyaW5nLCBpbnQ+OjppdGVyYXRvciBNSXRlcjsKCm1hcDxzdHJpbmcsIGludD4gbWFwUGhvbmVCb29rOwoKaW50IGZpbmRNYXAoc3RyaW5nIGZuYW1lKXsKCXJldHVybiBtYXBQaG9uZUJvb2tbZm5hbWVdOwp9CnN0cmluZyBmaW5kX01hcChpbnQgbnVtYmVyKXsKCgp9CmJvb2wgaW5zZXJ0TWFwKHN0cmluZyBuYW1lLCBpbnQgbnVtYmVyKXsKCW1hcFBob25lQm9va1tuYW1lXSA9IG51bWJlcjsKCXJldHVybiB0cnVlOwp9CmJvb2wgcmVtb3ZlTWFwKHN0cmluZyBuYW1lKXsKCU1JdGVyIGl0ZXIgPSBtYXBQaG9uZUJvb2suZmluZChuYW1lKTsKCWlmIChpdGVyID09IG1hcFBob25lQm9vay5lbmQoKSkKCQlyZXR1cm4gZmFsc2U7CgltYXBQaG9uZUJvb2suZXJhc2UoaXRlcik7CglyZXR1cm4gdHJ1ZTsKfQpib29sIHVwZGF0ZU1hcChzdHJpbmcgbmFtZSwgaW50IG51bWJlcil7CgltYXBQaG9uZUJvb2tbbmFtZV0gPSBudW1iZXI7CglyZXR1cm4gdHJ1ZTsKfQp2b2lkIGxpc3RBbGxNYXAoKXsKCWZvciAoQ01JdGVyIGk9bWFwUGhvbmVCb29rLmJlZ2luKCk7IGkhPW1hcFBob25lQm9vay5lbmQoKTsgaSsrKSB7CgkJY291dCA8PCBpLT5maXJzdCA8PCAiICAiIDw8IGktPnNlY29uZCA8PCBlbmRsOwoJfQp9