#include <fstream>
#include <vector>
#include "PreguntaSeleccionUnica.h"
#include "PreguntaAbierta.h"

using namespace std;

int main()
{
	vector<Pregunta*> preguntas;
	string tipo;

	ifstream archivo("preguntas.txt");
	while ( archivo >> tipo )
	{
		archivo.ignore();
		if ( tipo == "abierta" )
		{
			PreguntaAbierta* pregunta = new PreguntaAbierta();
			archivo >> *pregunta;
			preguntas.push_back(pregunta);
		}
		else if ( tipo == "seleccion_unica" )
		{
			PreguntaSeleccionUnica* pregunta = new PreguntaSeleccionUnica();
			archivo >> *pregunta;
			preguntas.push_back(pregunta);
		}
	}
	archivo.close();

	for ( size_t i = 0; i < preguntas.size(); ++i )
		cout << * preguntas[i];

	size_t contador = 0;
	for ( size_t i = 0; i < preguntas.size(); ++i )
	{
		PreguntaSeleccionUnica* psu = dynamic_cast<PreguntaSeleccionUnica*>(preguntas[i]);
		if ( psu )
			++contador;

		delete preguntas[i];
	}
	cout << endl << contador << " preguntas de seleccion unica eliminadas" << endl;

	return 0;
}
