#include <set>
#include <string>
#include <iostream>
//...
#define PLAY 1
#define STOP 0
#define ERROR (-1)
int promptYN(std::string reply)
{
static std::set<std::string> OKResponse = {"YES", "OK", "SURE", "Y"};
static std::set<std::string> StopResponse = {"NO", "QUIT", "STOP",
"TERMINATE", "N", "Q"};
if ( OKResponse.count(reply) == 1 )
return PLAY;
else
if (StopResponse.count(reply) == 1)
return STOP;
return ERROR;
}
int main()
{
std::cout << promptYN("OK") << '\n';
std::cout << promptYN("QUIT") << '\n';
std::cout << promptYN("SOMETHING ELSE") << '\n';
}
I2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgovLy4uLgojZGVmaW5lIFBMQVkgMQojZGVmaW5lIFNUT1AgMAojZGVmaW5lIEVSUk9SICgtMSkKCmludCBwcm9tcHRZTihzdGQ6OnN0cmluZyByZXBseSkKewogICAgc3RhdGljIHN0ZDo6c2V0PHN0ZDo6c3RyaW5nPiBPS1Jlc3BvbnNlID0geyJZRVMiLCAiT0siLCAiU1VSRSIsICJZIn07CiAgICBzdGF0aWMgc3RkOjpzZXQ8c3RkOjpzdHJpbmc+IFN0b3BSZXNwb25zZSA9IHsiTk8iLCAiUVVJVCIsICJTVE9QIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVEVSTUlOQVRFIiwgIk4iLCAiUSJ9OwogICAgaWYgKCBPS1Jlc3BvbnNlLmNvdW50KHJlcGx5KSA9PSAxICkKICAgICAgcmV0dXJuIFBMQVk7CiAgICBlbHNlCiAgICBpZiAoU3RvcFJlc3BvbnNlLmNvdW50KHJlcGx5KSA9PSAxKQogICAgICAgcmV0dXJuIFNUT1A7CiAgICByZXR1cm4gRVJST1I7Cn0KCmludCBtYWluKCkKewoJc3RkOjpjb3V0IDw8IHByb21wdFlOKCJPSyIpIDw8ICdcbic7CglzdGQ6OmNvdXQgPDwgcHJvbXB0WU4oIlFVSVQiKSA8PCAnXG4nOwoJc3RkOjpjb3V0IDw8IHByb21wdFlOKCJTT01FVEhJTkcgRUxTRSIpIDw8ICdcbic7Cn0=