#include <iostream>
#include <array>
#include <string>
#include <sstream>
using namespace std;
string prettify_index(size_t idx) {
return { static_cast<char>('a'+idx) };
}
struct quiz {
string question;
string proper_answer;
array<string, 5> answers;
quiz(string const &question, string const &proper_answer, decltype(answers) const &answers):
question(question),
answers(answers),
proper_answer(proper_answer)
{}
string pretty_string() const {
stringstream out;
out << "Pytanie:\n\t" << question << endl
<< "Możliwe odpowiedzi:" << endl;
for(auto i = 0u; i < answers.size(); ++i) {
out << "\t" << prettify_index(i) << ". " << answers[i] << endl;
}
return out.str();
};
bool validate(string const &answer) const {
return proper_answer == answer;
}
};
int main() {
quiz q {
"Stolica Polski?",
"Warszawa",
{
"Warszawa",
"Poznań",
"Kraków",
"Gdańsk",
"Toruń"
}
};
cout << q.pretty_string();
cout << "Twoja odpowiedź:\n";
string answer;
cin >> answer;
cout << "\t" << (q.validate(answer)? "Poprawna!" : "Niepoprawna.");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxzc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIHByZXR0aWZ5X2luZGV4KHNpemVfdCBpZHgpIHsKCXJldHVybiB7IHN0YXRpY19jYXN0PGNoYXI+KCdhJytpZHgpIH07Cn0KCnN0cnVjdCBxdWl6IHsKCXN0cmluZyBxdWVzdGlvbjsKCXN0cmluZyBwcm9wZXJfYW5zd2VyOwoJYXJyYXk8c3RyaW5nLCA1PiBhbnN3ZXJzOwoJCgkKCXF1aXooc3RyaW5nIGNvbnN0ICZxdWVzdGlvbiwgc3RyaW5nIGNvbnN0ICZwcm9wZXJfYW5zd2VyLCBkZWNsdHlwZShhbnN3ZXJzKSBjb25zdCAmYW5zd2Vycyk6CgkJcXVlc3Rpb24ocXVlc3Rpb24pLAoJCWFuc3dlcnMoYW5zd2VycyksCgkJcHJvcGVyX2Fuc3dlcihwcm9wZXJfYW5zd2VyKQoJe30KCQoJc3RyaW5nIHByZXR0eV9zdHJpbmcoKSBjb25zdCB7CgkJc3RyaW5nc3RyZWFtIG91dDsKCQlvdXQgPDwgIlB5dGFuaWU6XG5cdCIgPDwgcXVlc3Rpb24gPDwgZW5kbAoJCSAgICA8PCAiTW/FvGxpd2Ugb2Rwb3dpZWR6aToiIDw8IGVuZGw7CgkJCgkJZm9yKGF1dG8gaSA9IDB1OyBpIDwgYW5zd2Vycy5zaXplKCk7ICsraSkgewoJCQlvdXQgPDwgIlx0IiA8PCBwcmV0dGlmeV9pbmRleChpKSA8PCAiLiAiIDw8IGFuc3dlcnNbaV0gPDwgZW5kbDsKCQl9CgkJICAgIAoJCXJldHVybiBvdXQuc3RyKCk7Cgl9OwoJCglib29sIHZhbGlkYXRlKHN0cmluZyBjb25zdCAmYW5zd2VyKSBjb25zdCB7CgkJcmV0dXJuIHByb3Blcl9hbnN3ZXIgPT0gYW5zd2VyOwoJfQp9OwoKaW50IG1haW4oKSB7CglxdWl6IHEgewoJCSJTdG9saWNhIFBvbHNraT8iLAoJCSJXYXJzemF3YSIsCgkJewoJCQkiV2Fyc3phd2EiLAoJCQkiUG96bmHFhCIsCgkJCSJLcmFrw7N3IiwKCQkJIkdkYcWEc2siLAoJCQkiVG9ydcWEIgoJCX0KCX07CgkKCWNvdXQgPDwgcS5wcmV0dHlfc3RyaW5nKCk7CgkKCWNvdXQgPDwgIlR3b2phIG9kcG93aWVkxbo6XG4iOwoJc3RyaW5nIGFuc3dlcjsKCWNpbiA+PiBhbnN3ZXI7Cgljb3V0IDw8ICJcdCIgPDwgKHEudmFsaWRhdGUoYW5zd2VyKT8gIlBvcHJhd25hISIgOiAiTmllcG9wcmF3bmEuIik7CgkKCXJldHVybiAwOwp9