#ifndef DAY_OF_YEAR_CPP
#define DAY_OF_YEAR_CPP

#include <iostream>
#include <cstdlib>
using namespace std;
#include "DayOfYear.hpp"


//υλοποιηση constractor
DayOfYear::DayOfYear() : DayOfYear(1,1){}

DayOfYear::DayOfYear(int m) : DayOfYear(1,m){}

DayOfYear::DayOfYear(int d,int m) : day(d), month(m){ //συνηθως καθε πεδιο αρχικοποιειται διπλα στον constractor
	//day = d;   ειναι σβστος τροπος γραφης αλλα ο πανω ειναι πιο σωστος
	//month = m;
	validate();
}

//τελος υλοποιησης constractor

void DayOfYear::output() const{
//	if (day >= 1 && day <=31 && month >=1 && month <=12){
//	cout << day <<"/" << month <<endl;
//	}
//	else 
//	{
//	cerr << "error" << endl;
	cout << day << "/" << month << endl;
	}


void DayOfYear::input(){
	cout <<"Enter the month as number:" <<endl;
	cin >> month;
	cout <<"Enter day as a number:" <<endl;
	cin >> day;
	validate();
}

void DayOfYear::setMonth(int m){
	month = m;
	validate();
}

void DayOfYear::setDay(int d){
	day = d;
	validate();
}

int DayOfYear::getMonth() const{
	return month;
	}


int DayOfYear::getDay() const {
	return day;
	}

void DayOfYear::validate() {
	if (day >=1 && day <=31 && month >=1 && month <= 12){
	//do nothing
	}
	else
	{
	cerr <<"Illegal Value! program Aborted!" <<endl;
	exit(1);
	}
}

#endif
