not260 2022-10-02 01:04 采纳率: 75%
浏览 47
已结题

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

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

#include<iostream>
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

  • 写回答

2条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-10-02 10:50
    关注

    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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月4日
  • 创建了问题 10月2日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题