设计date类,采用整数储存日期

设计Date类,该类采用整数存储日期:month、day和year。其函数成员具有按如下方式输出日期的功能:5-25-2015May 25,201525 May 2015写一个完整程序,检验此类。注意:对于日期day成员,不能接受大于31或小于1的值,对于月month,不能接受大于12或小于1的值。1)部分参考程序,仅参考,可以有不一样的设计思路。

#include
using namespace std;
class Date{                    //日期类的定义     
public:        
bool setDate(int, int, int);        
void display();        
char *getMonth(int);    
private:        
int year,month,day;  //存储日期的年、月、日
 }; //获取月份的英文输出内容
char *Date::getMonth(int m){    
…… 
}  //设置成员变时,如果成功赋值则返回ture,否则返回false
bool Date::setDate( int mm, int dd, int yy) {     
……  
}   //在屏幕上显示日期
void Date::display()  
{      
……  
 }    
int main()   {       
Date myDate;   //存储日期    
int year,month,day; //临时存储年,月,日    
while(true)    
{        
cout<<"请按yyyy格式输入年:";        
cin>>year;        
cin.ignore();//用来清除输入缓冲区的内容,清除上一次输入对下一次输入的影响,默认为cin.ignore(1,EOF),即把EOF前的1个字符清掉        
cout<<"请按mm格式输入月:";        
cin>>month;        
cin.ignore();        
cout<<"请按dd格式输入日:";        
cin>>day;        
cin.ignore();        
if(myDate.setDate(month,day,year))  
break;        
else cout<<"日期输入错!请重新输入:";     
}      
cout<<"你输入的日期是:\n";     
myDate.display();     return 0;       
}

2)运行结果
请按(四个y)格式输入年:2015
请按mm格式输入月:5
请按dd格式输入日:25
你输入的日期是:5-25-2015
May 25,2015
25 May 2015

img



#include<iostream>
using namespace std;

class Date{                    //日期类的定义
public:
    bool setDate(int, int, int);
    void display();
    void getMonth(int);
private:
    int year,month,day;  //存储日期的年、月、日
}; //获取月份的英文输出内容
void Date::getMonth(int m){
    month = m;

}  //设置成员变时,如果成功赋值则返回ture,否则返回false
bool Date::setDate( int mm, int dd, int yy) {
    if (mm > 0 && dd > 0 && yy > 0) {
        month = mm;
        day = dd;
        year = yy;

        return true;
    }
    else
        return false;
}   //在屏幕上显示日期
void Date::display()
{
    enum months
    {
        January = 1, February, March, April, May, June, July, August, September, October, November, December
    };
    cout<<day<<"-"<<month<<"-"<<year<<"\n";
    switch(month)
    {
        case January: cout<<"January"<<" "<<January<<day<<" "<<year<<"\n"
        <<day<<" "<<"January"<<" "<<year<<"\n"; break;

        case February: cout<<"February"<<" "<<day<<" "<<year<<"\n"
                           <<day<<" "<<"February"<<" "<<year<<"\n"; break;
        case March: cout<<"March"<<" "<<day<<" "<<year<<"\n"
                        <<day<<" "<<"March"<<" "<<year<<"\n"; break;
        case April: cout<<"April"<<" "<<day<<" "<<year<<"\n"
                        <<day<<" "<<"April"<<" "<<year<<"\n"; break;
        case May: cout<<"May"<<" "<<day<<" "<<year<<"\n"
                      <<day<<" "<<"May"<<" "<<year<<"\n"; break;
        case June: cout<<"June"<<" "<<day<<" "<<year<<"\n"
                       <<day<<" "<<"June"<<" "<<year<<"\n"; break;
        case July: cout<<"July"<<" "<<day<<" "<<year<<"\n"
                       <<day<<" "<<"July"<<" "<<year<<"\n"; break;
        case August: cout<<"August"<<" "<<day<<" "<<year<<"\n"
                         <<day<<" "<<"August"<<" "<<year<<"\n"; break;
        case September: cout<<"September"<<" "<<day<<" "<<year<<"\n"
                            <<day<<" "<<"September"<<" "<<year<<"\n"; break;
        case October: cout<<"October"<<" "<<day<<" "<<year<<"\n"
                          <<day<<" "<<"October"<<" "<<year<<"\n"; break;
        case November: cout<<"November"<<" "<<day<<" "<<year<<"\n"
                           <<day<<" "<<"November"<<" "<<year<<"\n"; break;
        case December: cout<<"December"<<" "<<day<<" "<<year<<"\n"
                           <<day<<" "<<"December"<<" "<<year<<"\n"; break;
        default: cout<<"Error input\n"; break;
    }
}
int main()   {

    Date myDate;   //存储日期
    int year,month,day; //临时存储年,月,日
    while(true)
    {
        cout<<"请按yyyy格式输入年:";
        cin>>year;
        cin.ignore();//用来清除输入缓冲区的内容,清除上一次输入对下一次输入的影响,默认为cin.ignore(1,EOF),即把EOF前的1个字符清掉
        cout<<"请按mm格式输入月:";
        cin>>month;
        cin.ignore();
        cout<<"请按dd格式输入日:";
        cin>>day;
        cin.ignore();
        if(myDate.setDate(month,day,year))
            break;
        else cout<<"日期输入错!请重新输入:";
    }
    cout<<"你输入的日期是:\n";
    myDate.display();     return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^