I have my code at the bottom you can copy and paste. I really need help please.
ID: 3531823 • Letter: I
Question
I have my code at the bottom you can copy and paste. I really need help please.
#include "stdafx.h"
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
class date
{
private:
int month;
int day;
int year;
public:
date() { }
date(int m, int d, int y);
void setmonth(int m);
void setday(int d);
void setyear(int y);
int getmonth()
{ return month; }
int getday()
{ return day; }
int getyear()
{ return year; }
bool leapYear();
string getMonthName();
};
bool date::leapYear()
{
if ((year % 400 == 0 || year % 100 != 0) && (year % 4 == 0))
return true;
else
return false;
}
void date::setmonth(int m)
{
if (m > 12 || m < 1)
cout << "Error";
else
month = m;
}
void date::setday(int d)
{
if (d > 31 || d < 1)
cout << "Error";
else
day = d;
}
void date::setyear(int y)
{
if (y > 2013 || y < 1200)
cout << "Error";
else
year = y;
}
date::date(int m, int d, int y)
{
month = m;
day = d;
year= y;
}
string date::getMonthName()
{
switch (month)
{
case 1 : return "January"; break;
case 2 : return "Febraury"; break;
case 3 : return "March"; break;
case 4 : return "April"; break;
case 5 : return "May"; break;
case 6 : return "June"; break;
case 7 : return "July"; break;
case 8 : return "August"; break;
case 9 : return "September"; break;
case 10 : return "October"; break;
case 11 : return "November"; break;
case 12 : return "December"; break;
}
}
void Display(date &dHold)
{
cout << dHold.getmonth() << "/" << dHold.getday() << "/" << dHold.getyear() << endl;
cout << dHold.getMonthName() << " " << dHold.getday() << ", " << dHold.getyear() << endl;
cout << dHold.getday() << " " << dHold.getMonthName() << " " << dHold.getyear() << endl;
cout << dHold.getyear();
if (dHold.leapYear()) cout << " is a leap year. ";
else cout << " is not a leap year. ";
}
int main()
{
int month;
int day;
int year;
cout << "Enter Month between 1 and 12" << endl;
cin >> month;
cout << "Enter day from 1 to 31)" << endl;
cin >> day;
cout << "Enter Year)"<< endl;
cin >> year;
date newDate(month, day, year);
Display(newDate);
date D2;
D2.setday(15);
D2.setmonth(6);
D2.setyear(2000);
Display (D2);
system ("PAUSE");
return 0;
}
Explanation / Answer
modified version of your code. i have just changed few lines or add few functions of your requirenments.
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
class date
{
private:
int month;
int day;
int year;
int MilatryTime;
public:
date() { }
date(int m, int d, int y);
void setmonth(int m);
void setday(int d);
void setyear(int y);
void setMilatryTime(int n)
{
MilatryTime=n;
}
int getMilatryTime()
{
return MilatryTime;
}
int getmonth()
{ return month; }
int getday()
{ return day; }
int getyear()
{ return year; }
bool leapYear();
string getMonthName();
// updates are from here.................................................
friend void Display(date dHold);
date operator++();
date operator--();
bool operator ==(date d);
bool operator <(date d);
bool operator > (date d);
};
date date::operator ++()
{
year++;
return *this;
}
date date::operator --()
{
year--;
return *this;
}
bool date::operator==(date d)
{
if(year==d.getyear())
return true;
else
return false;
}
bool date::operator<(date d)
{
if(year<d.getyear())
return true;
else
return false;
}
bool date::operator>(date d)
{
if(year>d.getyear())
return true;
else
return false;
}
void Display(date dHold)
{
cout << dHold.month << "/" << dHold.day << "/" << dHold.year << endl;
cout << dHold.getMonthName() << " " << dHold.day << ", " << dHold.year << endl;
cout << dHold.day<< " " << dHold.getMonthName()<< " " << dHold.year<< endl;
cout << dHold.getyear();
if (dHold.leapYear()) cout << " is a leap year.";
else cout << " is not a leap year. ";
cout<<"The time mode is set to "<<dHold.getMilatryTime()<< " Hours "<<endl
;
}
bool date::leapYear()
{
if ((year % 400 == 0 || year % 100 != 0) && (year % 4 == 0))
return true;
else
return false;
}
void date::setmonth(int m)
{
if (m > 12 || m < 1)
cout << "Error";
else
month = m;
}
void date::setday(int d)
{
if (d > 31 || d < 1)
cout << "Error";
else
day = d;
}
void date::setyear(int y)
{
if (y > 2013 || y < 1200)
cout << "Error";
else
year = y;
}
date::date(int m, int d, int y)
{
month = m;
day = d;
year= y;
}
string date::getMonthName()
{
switch (month)
{
case 1 : return "January"; break;
case 2 : return "Febraury"; break;
case 3 : return "March"; break;
case 4 : return "April"; break;
case 5 : return "May"; break;
case 6 : return "June"; break;
case 7 : return "July"; break;
case 8 : return "August"; break;
case 9 : return "September"; break;
case 10 : return "October"; break;
case 11 : return "November"; break;
case 12 : return "December"; break;
}
}
int main()
{
int month;
int day;
int year;
date d(4,3,2010);
d.setMilatryTime(24);
d.setmonth(12);
date d1(5,10,2013);
d1.setMilatryTime(24);
Display(d);
Display(d1);
++d;
++d1;
cout<<"after applying '++operator' the dates becomes: ";
Display(d);
Display(d1);
cout<<"after applying '--operator' the date becomes: ";
--d;
--d1;
Display(d);
Display(d1);
cout<<"first date == last date ?: ";
if(d==d1)
cout<<"true";
else
cout<<"false";
cout<<" first date > last date ?: ";
if(d>d1)
cout<<"true";
else
cout<<"false";
cout<<" first date < last date ?: ";
if(d<d1)
cout<<"true";
else
cout<<"false";
cout<<endl;
system ("PAUSE");
return 0;
}