m0_51778678 2021-09-18 14:10 采纳率: 100%
浏览 57
已结题

这个题用C++怎么做呀,感激不尽

定义一个日期类 Date,数据成员有年(year)、月(month)、日(day)。成员函数有:(1)私有数据成员函数 bool isLeap()判断year是否是闰年,若是返回1,否则返回0。(2)私有成员函数 bool check()判断日期是否合法,若合法返回1,否则返回0。(3)设置年、月、日值,并检测是否为合法日期,非法的话结束程序。(4)输入日期,并调用(3)定义的函数检测日期是否合法,非法的话重新输入,直到输入日期正确为止。(5) 按yyyy/mm/dd格式输出日期,若是闰年,还要输入是否是闰年的信息。在主函数中定义日期类对象,任意输入年、月、日值,然后对所有成员函数进行测试。

  • 写回答

1条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-09-18 14:11
    关注
    
    class date
    {
    private int year;
    private int month;
    private int day;
    public int Year{get;set;}
    public int Month{get;set;}
    public int Day{get;set;}
    private int isleap()
    {
    if(year%4!=0)
    {
    return 0;
    }
    else return 1;
    }
    private int check()
    {
    if(month<0||month>12||day>31||day<0||year<0||year>9999)
    {
    return 0;
    }
    if( month==2 )
    {
    if(isleap()==1)
    {
    if(day>29)
    {
    return 0;
    }
    }
    else
    {
    if(day>28)
    {
    return 0;
    }
    }
    }
    if(month==4||month==6||month==9||month==11)
    {
    if(day>30)
    {
    return 0;
    }
    }
    return 1;
    }
    public void setDate(int y,int m,int d)
    {
    if(month<0||month>12||day>31||day<0||year<0||year>9999)
    {
    return;
    }
    else
    {
    year = y;
    month = m;
    day = d;
    }
    }
    public string output()
    {
    string result = year.ToString()+"/"+month.ToString().PadLeft(2,'0')+"/"+day.ToString().PadLeft(2,'0');
    if(isleap()==1)
    {
    result += "该年是闰年。";
    }
    return result;
    }
    }
    main()
    {
    date d = new date();
    d.setDate(2013,6,3);
    Console.WriteLine(d.output());
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月26日
  • 已采纳回答 9月18日
  • 创建了问题 9月18日

悬赏问题

  • ¥20 求用stm32f103c6t6在lcd1206上显示Door is open和password:
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类