#include <map>
#include <string>
#include <stdio.h>
enum InputTypes { Manual, Automatic, Assisted, Imported, Offline };
struct Params
{
int inputType;
std::string moduleName;
int flag;
};
int main()
{
std::map<std::string, Params> options {
{ "Add", { Manual, "RecordLib", 0 } },
{ "Open", { Assisted, "ViewLib", 1 } },
{ "Close", { Imported, "EditLib", 2 } },
{ "Inventory", { Automatic, "ControlLib", 3 } },
{ "Report", { Offline, "ReportLib", 4 } }
};
for (std::map<std::string, Params>::iterator iter = options.begin(); iter != options.end(); ++iter)
{
printf("Entry: %s ==> { %d, %s, %d }\n", iter->first.c_str(),
iter->second.inputType, iter->second.moduleName.c_str(), iter->second.flag);
}
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHN0ZGlvLmg+CgplbnVtIElucHV0VHlwZXMgeyBNYW51YWwsIEF1dG9tYXRpYywgQXNzaXN0ZWQsIEltcG9ydGVkLCBPZmZsaW5lIH07CgpzdHJ1Y3QgUGFyYW1zCnsKICAgIGludCBpbnB1dFR5cGU7CiAgICBzdGQ6OnN0cmluZyBtb2R1bGVOYW1lOwogICAgaW50IGZsYWc7Cn07CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBQYXJhbXM+IG9wdGlvbnMgewogICAgICAgIHsgIkFkZCIsICAgICAgIHsgTWFudWFsLCAiUmVjb3JkTGliIiwgMCB9IH0sCiAgICAgICAgeyAiT3BlbiIsICAgICAgeyBBc3Npc3RlZCwgIlZpZXdMaWIiLCAxIH0gfSwKICAgICAgICB7ICJDbG9zZSIsICAgICB7IEltcG9ydGVkLCAiRWRpdExpYiIsIDIgfSB9LAogICAgICAgIHsgIkludmVudG9yeSIsIHsgQXV0b21hdGljLCAiQ29udHJvbExpYiIsIDMgfSB9LAogICAgICAgIHsgIlJlcG9ydCIsICAgIHsgT2ZmbGluZSwgIlJlcG9ydExpYiIsIDQgfSB9CiAgICB9OwoKICAgIGZvciAoc3RkOjptYXA8c3RkOjpzdHJpbmcsIFBhcmFtcz46Oml0ZXJhdG9yIGl0ZXIgPSBvcHRpb25zLmJlZ2luKCk7IGl0ZXIgIT0gb3B0aW9ucy5lbmQoKTsgKytpdGVyKQogICAgewogICAgICAgIHByaW50ZigiRW50cnk6ICVzID09PiB7ICVkLCAlcywgJWQgfVxuIiwgaXRlci0+Zmlyc3QuY19zdHIoKSwKICAgICAgICAgICAgaXRlci0+c2Vjb25kLmlucHV0VHlwZSwgaXRlci0+c2Vjb25kLm1vZHVsZU5hbWUuY19zdHIoKSwgaXRlci0+c2Vjb25kLmZsYWcpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=