[ create a new paste ] login | about

Link: http://codepad.org/R1TZAGJi    [ raw code | output | fork ]

C++, pasted on Sep 19:
#include <iostream>
#include <string>

class Date
{
private:

    int pMonth;
    int pDay;
    int pYear;

public:
    Date();
    void setDate(int month, int day, int year);
    int getMonth(int month);
    int getDay(int day);
    int getYear(int year);
    bool checkDate(int month, int day, int year);
    std::string monthName(int month);
    int isLeapyear (int year);

};

using namespace std;

    int day;
    int month;
    int year;
    string lMonth;

int main()
{
    Date nextDay;


    do{
    cout << "please enter date mm/dd/yy" << endl;
    cin >> month >> day >> year;
    nextDay.setDate(month, day, year);

    }while (nextDay.checkDate(month, day, year)==false);


    if (month == 12 && day == 30)
    {
        month = 1;
        day = 1;
        year = year +1;
    }
    else if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day >= 31)
    {
        month = month + 1;
        day = 1;
    }
    else if ((month == 4 || month == 6 || month == 9 || month == 11) && day >= 30)
    {
        month = month + 1;
        day = 1;
    }
    else if ((month == 2) && (nextDay.isLeapyear (year)) && day >=29)
    {
        month = month + 1;
        day = 1;
    }
    else if ((month == 2) && (!nextDay.isLeapyear (year)) && day >=28)
    {
        month = month + 1;
        day = 1;
    }
    else
    {
        day = day + 1;
    }

    lMonth = nextDay.monthName(month);
    cout << lMonth << " " << day <<" "<< year << endl;

    return 0;
}

Date::Date()
{
    int day = 1;
    int month = 1;
    int year = 2013;
}

void Date::setDate(int month, int day, int year)
{
    pMonth = month;
    pDay = day;
    pYear = year;
}

int Date::getMonth(int month)
{
    return month;
}

int Date::getDay(int day)
{
    return day;
}

int Date::getYear(int year)
{
    return year;
}

bool Date::checkDate(int month, int day, int year)
{


    if ((month >= 1 && month <= 12) || (day >=1 && day<= 31) || (year >= 1753 ))
       return false;
    if((month == 12) && (day == 31) && (year == 9999))
      return false;
     if ((!isLeapyear(year)) && (day > 28))
        return false;
    if (month > 12)
       return false;

   return true;

}

string Date::monthName (int month)
{
    string lMonth;

    switch (month)
    {
      case 1:
            lMonth = "January";
        break;
        case 2:
            lMonth = "February";
        break;
        case 3:
            lMonth = "March";
        break;
        case 5:
            lMonth = "May";
        break;
        case 7:
            lMonth = "July";
        break;
        case 8:
            lMonth = "August";
        break;
        case 10:
            lMonth = "October";
        break;
        case 12:
            lMonth = "December";
        break;
        case 4:
            lMonth = "April";
        break;
        case 6:
            lMonth = "June";
        break;
        case 9:
            lMonth = "September";
        break;
        case 11:
            lMonth = "November";
        break;

    return lMonth;

    }
}

int Date::isLeapyear (int year)
{
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        return true;
    else
        return false;
}


Output:
1
2
3
cc1plus: warnings being treated as errors
t.cpp: In member function 'std::string Date::monthName(int)':
Line 173: warning: control reaches end of non-void function


Create a new paste based on this one


Comments: