// FYLLADIO 4, ASKHSH 4, FILES, C++ 2019-2020
#include <iostream>
#include <fstream>
#define N 20
using namespace std;
class control
{private:
		int code;
		int status[10];
		int acc[10];
public:
	// default constructor
	control()
	{ static int i=0;
			code=i;
				for (int j=0;j<10;j++)
					status[j]=1;
				for (int j=0;j<10;j++)
					acc[j]=0;
				i++;
		
	}

// constructor USING list of parameters
control(int in_code, int in_status[], int in_acc[])
	{code=in_code;
	for (int i=0;i<10;i++)
	{status[i]=in_status[i];
	acc[i]=in_acc[i];}
	};

int get_code() {return code;}

int total_acc()
{int sum=0;
for (int i=0;i<10;i++) sum+=acc[i];
return sum;}

void set(int area, int stat)
{
	status[area]=stat;
	acc[area]++;
}

void print()
{cout<<code<<endl;
for (int i=0;i<10;i++) cout<<status[i]<<" "; cout<<endl;
for (int i=0;i<10;i++) cout<<acc[i]<<" "; cout<<endl;
}

}; // end class
int main()
{ 
control a[N];
int *y1, *y2, flag=0, count=0;
int i, in_code,in_area, in_status, file_counter=0, totals=0;

ifstream in_file;
in_file.open("access.txt");

// check if file exists
	if(!in_file)
	{	cout << "Could not open file"<< endl;
		exit(1);	}

	
 // read from file
	while (!in_file.eof())
	{	in_file>>in_code>>in_area>>in_status;
	cout<<"* * * * * * * * * * * * * * *"<<endl;
		cout<<in_code<<" "<<in_area<<" "<<in_status<<endl;
		a[in_code].set(in_area, in_status);
	file_counter++;
	}// end while

cout<< "lines in file = "<<file_counter<<endl;
cout<<"------------------------------------------"<<endl;
for (i=0;i<N;i++) a[i].print();

// erwthma 5
for (i=0;i<N;i++)
{
	if (flag==0)
	{y1=new int;
	y2=new int; flag=1;}
	
	y1[count]=a[i].get_code();
	y2[count]=a[i].total_acc();   	 totals+=y2[count];
	
	cout<<y1[count]<<"  "<<y2[count]<<endl;
	count++;
}
cout << "totals = "<<totals<<endl;

return 0;
} // end main
