#include <stdio.h>
#include <string.h>
#include "struktuurid.h"

void yhildus (Subject *aine_massiiv, int aine_arv, Student *tudeng_massiiv, int tudeng_arv, Output *koond_massiiv);
void perenime_sortimine ();

int main ()
{
	FILE *tudengid, *ained; // tekitab pointerid failidele

	Student tudeng; // muutuja tudengi andmete hoiustamiseks
	Student tudeng_massiiv[25]; // massiiv tudengite hoidmiseks
	Subject aine; // muutuja aine andmete hoiustamiseks
	Subject aine_massiiv[25]; // massiiv ainete hoiustamiseks
	Output koond_massiiv[25];

	tudengid = fopen ("tudengid.txt", "r"); // avab faili tudengid
	ained = fopen ("ained.txt", "r"); // avab faili andmed

	int tudeng_arv = 0;

	// skanneerib failist sisse andmed tundegite kohta 
	while (fscanf(tudengid,"%s %s %s ", tudeng.eesnimi, tudeng.perenimi, tudeng.matrikkel) != EOF)
	{
		printf("%s\t %s\t %s \n", tudeng.eesnimi, tudeng.perenimi, tudeng.matrikkel);
		//puts (tudeng_massiiv[tudeng_arv].eesnimi);
		//puts (tudeng_massiiv[tudeng_arv].perenimi);
		//puts (tudeng_massiiv[tudeng_arv].matrikkel);
		tudeng_massiiv[tudeng_arv] = tudeng;
		tudeng_arv++;
	}
	fclose (tudengid);

	printf (" \n\n");

	int aine_arv = 0;

	// skanneerib failist sisse andmed ainete kohta 
	while (fscanf(ained,"%s %s %s %d", aine.nimi, aine.kood, aine.matrikkel, &aine.tulemus) != EOF)
	{
		//printf("%s \t", aine.kood);
		printf("%s %s %s %d \n", aine.nimi, aine.kood, aine.matrikkel, aine.tulemus);
		//puts (aine_massiiv[aine_arv].nimi);
		//puts (aine_massiiv[aine_arv].kood);
		//puts (aine_massiiv[aine_arv].matrikkel);
		//printf ("%d\n\n", aine.tulemus);
		aine_massiiv[aine_arv] = aine;
		aine_arv++;
	}
	fclose (ained);

	// ühildab vastavad andmed
	yhildus (aine_massiiv, aine_arv, tudeng_massiiv, tudeng_arv, koond_massiiv);

	return 0;
}

void yhildus (Subject *aine_massiiv, int aine_arv, Student *tudeng_massiiv, int tudeng_arv, Output *koond_massiiv)
{
	int i;
	int j;

	printf ("%d, %d \n", aine_arv, tudeng_arv);

	for (i = 0; i < aine_arv; i++)
	{
		for (j = 0; j < tudeng_arv; j++)
		{
			//printf ("%d, %d \n", i, j);
			if (strcmp (aine_massiiv[i].matrikkel, tudeng_massiiv[j].matrikkel) == 0)
			{
				printf ("%s, %s, %s, %s, %s, %d", aine_massiiv[i].nimi, aine_massiiv[i].kood,
				tudeng_massiiv[j].matrikkel, tudeng_massiiv[j].eesnimi, tudeng_massiiv[j].perenimi,
				aine_massiiv[i].tulemus);

				//strcpy (koond_massiiv[i].perenimi, tudeng_massiiv[j].perenimi);
				//strcpy (koond_massiiv[i].eesnimi, tudeng_massiiv[j].eesnimi);

				//printf ("\n%s, %s", koond_massiiv[i].perenimi, koond_massiiv[i].eesnimi);
			}
			else
			{
				printf ("%d\t %d, %d\n", strcmp (aine_massiiv[i].matrikkel, tudeng_massiiv[j].matrikkel), i, j);
				printf ("%s, %s\n\n", aine_massiiv[i].matrikkel, tudeng_massiiv[j].matrikkel);
			}
		}
	}
	return;
}

void perenime_sortimine ()
{
	

	return;
}