首页 > 学院 > 开发设计 > 正文

北理05年复试上机之实现日期类

2019-11-11 03:04:36
字体:
来源:转载
供稿:网友

题目

编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。

Input

输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。

21999 10 202001 1 31

Output

输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。

1999-10-212001-02-01

code

#include <iostream>#include<algorithm>#include<string.h>#include<stdio.h>#include<stdlib.h>#include<math.h>using namespace std;class Date{PRivate: int m_year, m_month, m_day;public: Date(){}; Date(int year, int month, int day); void func(); void show();};Date::Date(int year,int month, int day){ m_year = year; m_month = month; m_day = day;}void Date::func(){ if (m_month == 2) { if (m_day == 28) { m_month++; m_day = 1; } else { m_day++; } } else if (m_month == 12) { if (m_day == 31) { m_year++; m_month = 1; m_day = 1; } else { m_day++; } } else if(m_month == 1 || m_month == 3 || m_month == 5 || m_month == 7 || m_month == 8 || m_month == 10) { if (m_day == 31) { m_month++; m_day = 1; } else { m_day++; } } else { if (m_day == 30) { m_month++; m_day = 1; } else { m_day++; } }}void Date::show(){ printf("%d-", m_year); if (m_month < 10) { printf("0"); } printf("%d-", m_month); if (m_day < 10) { printf("0"); } printf("%d/n", m_day);}int main(){ int m; cin >> m; while (m--) { int year, month, day; cin >> year >> month >> day; Date date(year, month, day); date.func(); date.show(); } return 0;}
上一篇:poj1000

下一篇:简化自定义控件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表