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;
}
测试运行结果如下: