#include <iostream>
#include <string>
#include <set>
#include <algorithm>

#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/if.hpp>

using namespace std;
using namespace boost::lambda;

int main() {
	string w("galgje");
	set<char> letters, geraden;
	copy(w.begin(), w.end(), inserter(letters, letters.begin()));
	do {
		for_each(w.begin(), w.end(), if_then_else(bind(&set<char>::count, geraden, _1), cout<<_1, cout<<constant('.')));
		cout<<endl<<"Raad een letter: ";
		char c;
		cin>>c;
		geraden.insert(c);
	}
	while (!includes(geraden.begin(), geraden.end(), letters.begin(), letters.end()));
	cout<<"Je hebt het woord "<<w<<" geraden."<<endl;
	cin.get(); cin.get();
	return 0;
}
