C++日期到天数的转换

日期到天数的转换

#include
using namespace std;
//看输入的日子是这一年的第几天
static int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
class Date
{
public:// 获取某年某月的天数int GetMonthDay(int year, int month){days[2] = 28;  //如果之前有一次输入闰年把2月改成29,下次输入判断前先把2月变回28再说int day = days[month];//闰年2月29天if (month == 2&& ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))){day += 1;days[month] = 29;}return day;}// 全缺省的构造函数Date(int year = 1900, int month = 1, int day = 1) {if (year > 0 && month > 0 && month < 13 && day > 0 &&day <= GetMonthDay(year, month)) {_year = year;_month = month;_day = day;}else {cout << "日期不合法" << year << "-" << month << "-" << day << endl;}}int func() {int sum = 0;if (_month > 1) {for (int i = 0; i < _month; i++) {sum += days[i];}sum = sum + _day;}else {sum = _day;}return sum;}
private:int _year;int _month;int _day;
};int main() {int a, b, c;while (cin >> a >> b >> c) {Date d(a, b, c);//打印出这一年2月的天数cout << d.GetMonthDay(a, 2) << endl;//打印这一日期是这一年第多少天cout << d.func() << endl;}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部