Use while to loop through a map
#include <map>
#include <iostream>
#include <string>
using namespace std;
typedef map<string, int> STRING2INT;
int main(void)
{
STRING2INT DateMap;
STRING2INT::iterator DateIterator;
string DateBuffer;
DateMap["January"] = 1;
DateMap["February"] = 2;
DateMap["March"] = 3;
DateMap["April"] = 4;
DateMap["May"] = 5;
DateMap["June"] = 6;
DateMap["July"] = 7;
DateMap["August"] = 8;
DateMap["September"] = 9;
DateMap["October"] = 10;
DateMap["November"] = 11;
DateMap["December"] = 12;
DateIterator = DateMap.end();
while(DateIterator == DateMap.end())
{
cout << "Enter a Month :";
cin >> DateBuffer;
if((DateIterator = DateMap.find(DateBuffer)) != DateMap.end())
cout << (*DateIterator).first << " is Month Number "
<< (*DateIterator).second << endl;
else
cout << "Enter a Valid Month (example: March)" << endl;
}
}
Related examples in the same category