c++ 输入一个日期,计算出该日期是这一年中的第几天(switch语句)

c++ 日期计算

系统提示用户输入一个日期(年月日),随后根据用户提供的日期,利用switch语句,计算出该日期是这一年中的第几天。(注意闰年的判断,当日期在2月以后,天数应加一)

(大一写的代码,算法很笨,emm 就这样吧,客官不嫌弃就将就一下吧?)

源代码如下:

#include "stdafx.h"
#include<iostream>;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int year, month, day;
	int pred, sum=0;
	cout << "请输入一个年月日";
	cin >> year >> month >> day;
	if (day > 31)
	{
		cout << "请输入一个正确的日期" << endl;
		return 0;
	}

	switch (month){
	case 1:pred = 0;
		break;
	case 2:pred = 31;
		break;
	case 3:pred = 59;
		break;
	case 4:pred = 90;
		break;
	case 5:pred = 120;
		break;
	case 6:pred = 151;
		break;
	case 7:pred = 181;
		break;
	case 8:pred = 212;
		break;
	case 9:pred = 243;
		break;
	case 10:pred =273;
		break;
	case 11:pred = 304;
		break;
	case 12:pred = 334;
		break;
	default: break;
	}

	if (year % 4 == 0 && year % 100 != 0||year%400==0&&month > 2)//注意闰年日期的判断
		sum++;

	sum += pred + day;
	cout << "该日期是该年的第" << sum << "天"<<endl;

	return 0;
}

测试运行结果如下:
运行结果


版权声明:本文为weixin_44387644原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。