#include <iostream>
using namespace std;
void STUFF()
{
cout << "Doing stuff..." << endl;
}
int CREDS;
void AUTH()
{
cout << "Username: "; string USER; cin >> USER;
cout << "Password: "; string PASS; cin >> PASS;
if (USER == "josh" and PASS == "passwd")
{
CREDS = 0;
}
else
{
CREDS = 1;
};
}
void RETRY()
{
cout << "Authentication failed! Try again? [Y/n]" << endl; char REPLY; cin >> REPLY;
if (REPLY == 'Y' or REPLY == 'y')
{
AUTH();
}
else if (REPLY == 'N' or REPLY == 'n')
{
cout << "Exiting..." << endl;
}
else
{
RETRY();
};
}
int main()
{
AUTH();
if (CREDS == 0)
{
STUFF();
return 0;
}
else if (CREDS == 1)
{
RETRY();
};
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBTVFVGRigpCnsKICAgY291dCA8PCAiRG9pbmcgc3R1ZmYuLi4iIDw8IGVuZGw7Cn0KCmludCBDUkVEUzsKdm9pZCBBVVRIKCkKewogICBjb3V0IDw8ICJVc2VybmFtZTogIjsgc3RyaW5nIFVTRVI7IGNpbiA+PiBVU0VSOwogICBjb3V0IDw8ICJQYXNzd29yZDogIjsgc3RyaW5nIFBBU1M7IGNpbiA+PiBQQVNTOwogICBpZiAoVVNFUiA9PSAiam9zaCIgYW5kIFBBU1MgPT0gInBhc3N3ZCIpCiAgIHsKICAgICAgQ1JFRFMgPSAwOwogICB9CiAgIGVsc2UgCiAgIHsKICAgICAgQ1JFRFMgPSAxOwogICB9Owp9Cgp2b2lkIFJFVFJZKCkKewogICBjb3V0IDw8ICJBdXRoZW50aWNhdGlvbiBmYWlsZWQhIFRyeSBhZ2Fpbj8gW1kvbl0iIDw8IGVuZGw7IGNoYXIgUkVQTFk7IGNpbiA+PiBSRVBMWTsKICAgaWYgKFJFUExZID09ICdZJyBvciBSRVBMWSA9PSAneScpCiAgIHsKICAgICAgQVVUSCgpOwogICB9CiAgIGVsc2UgaWYgKFJFUExZID09ICdOJyBvciBSRVBMWSA9PSAnbicpCiAgIHsKICAgICAgY291dCA8PCAiRXhpdGluZy4uLiIgPDwgZW5kbDsKICAgfQogICBlbHNlCiAgIHsKICAgICAgUkVUUlkoKTsKICAgfTsKfQoKaW50IG1haW4oKQp7CiAgIEFVVEgoKTsKICAgaWYgKENSRURTID09IDApCiAgIHsKICAgICAgU1RVRkYoKTsKICAgICAgcmV0dXJuIDA7CiAgIH0KICAgZWxzZSBpZiAoQ1JFRFMgPT0gMSkKICAgewogICAgICBSRVRSWSgpOwogICB9OwoKfQ==