//============================================================================
// Name        : tavalyiZH.cpp
// Author      : Hakkel Tamás
// Description : A ZH 2. feladata a Naprendszerben megtalálható kisbolygók adatainak kezelésével foglalkozik.
//============================================================================

#include <iostream>
#include "ZHStudentSolution.h"
using namespace std;

void print(vector<string> data) {
	if (!data.size()) return;

	cout << "\t";
	for (size_t i = 0; i < data.size()-1; i++)
		cout << data[i] << ", ";
	cout << data.back() << endl;
	cout.flush();
}

int main() {
	try {
		ZHStudentSolution solution;
		vector<MinorPlanet> planets;
		cout << "Adatok beolvasasa megkezdodott.\n"; cout.flush();
		solution.readPlanet("minorplanet.txt", planets);

		DayOfYear dy;
		dy = solution.task1(planets);
		cout << "Task1: A legtobb bolygot " << dy.month << "." << dy.day << "-an fedeztek fel.\n"; cout.flush();

		solution.prepare2_3_4(planets);
		cout << "Taks2: Legtobb kisbolygo felfedezesenek a helye: \n\t" << solution.task2() << endl;

		cout << "Task3: Azok a helyek, ahol csak egy bolygot fedeztek fel:\n";
		print(solution.task3());

		cout << "Task4: Melyik varosban felfedezett kisbolygokat listazzam? ";
		string name;
		cin >> name;
		print(solution.task4(name));

		vector<string> cityData;
		solution.readCity("cities.txt", cityData);
		cout << "Task5: Azok a bolygok, amiknek a neve egyezik egy magyar telepulessel:\n";
		print(solution.task5(planets, cityData));

		cout << "Kesz!" << endl; // prints
	}
	catch (exception &e) { cerr << e.what();}

	return 0;
}
