Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <cstdlib>
- #include <fstream>
- #include <fstream>
- using namespace std;
- class DayofYear
- {
- int day;
- string month;
- public:
- DayofYear(ofstream &outfile)
- {
- cout << endl;
- cout << "Enter Day to Convert to Date:" << endl;
- cin >> day;
- convertDay(outfile);
- }
- void setDay(int);
- void setMonth(string);
- string getMonth() const;
- int getDay() const;
- void monthOverload(int, string);
- DayofYear &operator++();
- DayofYear operator++(int);
- DayofYear &operator--();
- DayofYear operator--(int);
- void convertDay(ofstream&);
- };
- void DayofYear::monthOverload(int d, string m)
- {
- if(m == "January")
- {
- if(d >= 31)
- {
- month = "February";
- day=1;
- }
- else
- if(d==0)
- {
- month="December";
- day=31;
- }
- else
- return;
- }
- else
- if(m == "February")
- {
- if(d >= 28)
- {
- month= "March";
- day = 1;
- }
- else
- if(d==0)
- {
- month="January";
- day=31;
- }
- else
- return;
- }
- else
- if(m == "March")
- {
- if (d >= 31)
- {
- month = "April";
- day = 1;
- }
- else
- if(d==0)
- {
- month="February";
- day=28;
- }
- else
- return;
- }
- else
- if(m == "April")
- {
- if(d >= 30)
- {
- month = "May";
- day = 1;
- }
- else
- if(d==0)
- {
- month = "March";
- day = 31;
- }
- else
- return;
- }
- else
- if(m == "May")
- {
- if(d >= 31)
- {
- month="June";
- day =1;
- }
- else
- if(d==0)
- {
- month="April";
- day = 30;
- }
- else
- return;
- }
- else
- if(m == "June")
- {
- if(d >= 30)
- {
- month="July";
- day =1;
- }
- else
- if(day==0)
- {
- month = "May";
- day = 31;
- }
- else
- return;
- }
- else
- if(m == "July")
- {
- if(d >= 31)
- {
- month = "August";
- day = 1;
- }
- else
- if(day==0)
- {
- month="June";
- day=30;
- }
- else
- return;
- }
- else
- if(m == "August")
- {
- if(d >= 31)
- {
- month = "September";
- day = 1;
- }
- if(d==0)
- {
- month="July";
- day=31;
- }
- else
- return;
- }
- else
- if(m == "September")
- {
- if (d >= 30)
- {
- month = "October";
- day =1;
- }
- else
- if(day==0)
- {
- month="August";
- day= 31;
- }
- else
- return;
- }
- else
- if(m == "October")
- {
- if(d >= 31)
- {
- month = "November";
- day =1;
- }
- else
- if(d==0)
- {
- month="September";
- day=30;
- }
- else
- return;
- }
- else
- if(m == "November")
- {
- if(d >= 30)
- {
- month= "December";
- day =1;
- }
- else
- if(day==0)
- {
- month="October";
- day= 31;
- }
- else
- return;
- }
- else
- if(m == "December" )
- {
- if(d >= 31)
- {
- month = "January";
- day =1;
- }
- else
- if(day==0)
- {
- month="November";
- day=30;
- }
- else
- return;
- }
- else
- return;
- }
- DayofYear& DayofYear::operator++()
- {
- this->day++;
- monthOverload(day, month);
- return *this;
- }
- DayofYear DayofYear::operator++(int)
- {
- operator++();
- return *this;
- }
- DayofYear& DayofYear::operator--()
- {
- this->day--;
- monthOverload(day, month);
- return *this;
- }
- DayofYear DayofYear::operator--(int)
- {
- operator--();
- return *this;
- }
- void DayofYear::setDay(int d)
- {
- day = d;
- return;
- }
- void DayofYear::setMonth(string m)
- {
- month = m;
- return;
- }
- string DayofYear::getMonth() const
- {
- return month;
- }
- int DayofYear::getDay() const
- {
- return day;
- }
- void DayofYear::convertDay(ofstream &outfile)
- {
- if(day > 1 && day <= 31)
- {
- month="January";
- outfile << month << " " << day << endl;
- }
- else
- if(day >31 && day<=59)
- {
- month="February";
- outfile << month << " " << day-31 << endl;
- }
- else
- if(day > 59 && day <= 90)
- {
- month="March";
- outfile << month << " " << day -59 << endl;
- }
- else
- if(day > 90 && day <= 120)
- {
- month = "April";
- outfile << month << " " << day- 90 << endl;
- }
- else
- if(day > 120 && day <= 151)
- {
- month ="May";
- outfile << month << " " << day- 120 << endl;
- }
- else
- if(day > 151 && day <= 181)
- {
- month ="June";
- outfile << month << " " << day - 151 << endl;
- }
- else
- if(day > 181 && day <= 212)
- {
- month = "July";
- outfile << month << " " << day- 181<< endl;
- }
- else
- if(day > 212 && day <= 243)
- {
- month = "August";
- outfile << month << " " << day- 212<< endl;
- }
- else
- if(day > 243 && day <= 273)
- {
- month="September";
- outfile << month << " " << day- 243<< endl;
- }
- else
- if(day > 273 && day <= 304)
- {
- month = "October";
- outfile << month << " " << day- 273<< endl;
- }
- else
- if(day > 304 && day <= 334)
- {
- month = "November";
- outfile << month << " " << day- 304<< endl;
- }
- else
- if(day > 334 && day<= 365)
- {
- month="December";
- outfile << month << " " << day-334<< endl;
- }
- else
- {
- outfile << "Entry does not correspond to Month and Day" << endl;
- }
- return;
- }
- int main()
- {
- ofstream outfile("c:\\USERS\\student\\desktop\\outfile.txt");
- DayofYear dayYear(outfile);
- int d;
- string m;
- dayYear= DayofYear(outfile);
- cout << "Enter:" << endl;
- cout << "month: " ;
- cin >> m;
- cout << "day: " ;
- cin >> d;
- cout << endl;
- dayYear.setDay(d);
- dayYear.setMonth(m);
- outfile << endl;
- outfile << "Before Overloading" << endl;
- outfile << dayYear.getMonth() << " " << dayYear.getDay() << endl;
- dayYear++;
- outfile << endl;
- outfile<< "After Overloading Operator++" << endl;
- outfile<< dayYear.getMonth() << " " << dayYear.getDay() << endl;
- dayYear--;
- outfile << endl;
- outfile << "After Overloading Operator--" << endl;
- outfile << dayYear.getMonth() << " " << dayYear.getDay() << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement