fork(1) download
#include <iostream>
#include <array>
#include <string>
#include <sstream>
using namespace std;

string prettify_index(size_t idx) {
	return { static_cast<char>('a'+idx) };
}

size_t unprettify_index(string const &sidx) {
	return static_cast<size_t>(sidx[0]-'a');
}

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;
	}
	
	bool validate(size_t idx) const {
		return proper_answer == answers[idx];
	}
};

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(unprettify_index(answer))? "Poprawna!" : "Niepoprawna.");
	
	return 0;
}
Success #stdin #stdout 0s 15248KB
stdin
a
stdout
Pytanie:
	Stolica Polski?
Możliwe odpowiedzi:
	a. Warszawa
	b. Poznań
	c. Kraków
	d. Gdańsk
	e. Toruń
Twoja odpowiedź:
	Poprawna!