Use a map to create a phone directory.
#include <iostream>
#include <map>
#include <cstring>
using namespace std;
class name {
char str[40];
public:
name() { strcpy(str, ""); }
name(char *s) { strcpy(str, s); }
char *get() { return str; }
};
bool operator<(name a, name b)
{
return strcmp(a.get(), b.get()) < 0;
}
class phoneNum {
char str[80];
public:
phoneNum() { strcmp(str, ""); }
phoneNum(char *s) { strcpy(str, s); }
char *get() { return str; }
};
int main()
{
map<name, phoneNum> directory;
directory.insert(pair<name, phoneNum>(name("A"), phoneNum("555-1111")));
directory.insert(pair<name, phoneNum>(name("B"), phoneNum("555-2222")));
directory.insert(pair<name, phoneNum>(name("C"), phoneNum("555-3333")));
directory.insert(pair<name, phoneNum>(name("D"), phoneNum("555-4444")));
map<name, phoneNum>::iterator p;
p = directory.find(name("A"));
if(p != directory.end())
cout << "Phone number: " << p->second.get();
else
cout << "Name not in directory.\n";
return 0;
}
Related examples in the same category