#include #include using namespace std; class date { int dd; int mm; int yy; int day; friend istream& operator>>(istream&, date&); friend ostream& operator<<(ostream&, date&); void setday(); public: int getdate(){ return dd;} int getmon(){ return mm;} int getyear(){ return yy;} int getday(){ return day;} }; void date::setday() { int q=dd,m,y=yy; if(mm==1||mm==2) { m=mm+12; y--; } else m=mm; int K=y%100, J=y/100; day=(q+((m+1)*26)/10+K+K/4+J/4+5*J)%7; //Zeller's Congruence } istream& operator>>(istream &is, date &a) { char ch; is>>ch; is.putback(ch); is>>a.dd; is.get(); is>>a.mm; is.get(); is>>a.yy; a.setday(); return is; } ostream& operator<<(ostream &os, date &a) { switch(a.day) { case 0 : os<<"Saturday, "; break; case 1 : os<<"Sunday, "; break; case 2 : os<<"Monday, "; break; case 3 : os<<"Tuesday, "; break; case 4 : os<<"Wednesday, "; break; case 5 : os<<"Thursday, "; break; case 6 : os<<"Friday, "; break; } os<>d; cout<<"\n\nEntered date :\n\n"<