📄 year.cpp
字号:
//已通过验证的儒略日时间显示
//year.cpp
#include <iostream.h>
#include <stdio.h>
#include "year.h"
#define Julian 0x3365
void main ()
{
int Julian1992,year;
Julian1992=Julian-8036; //8036定义为自1970年至1992年之间的总时间
//(考虑到我国Doppler雷达建站时间比较近,
//均在1992年以后,则以1992年为记时初始365*16+366*6=8036)
//讨论数据正确性
//如果显示时间比8036小,说明雷达扫描时间是在1992年以前
//则判断数据有误
//因为雷达布网是在1992年以后的事情
if(Julian1992<0)
{
printf("警告:数据文件已破坏!\n");
}
else
{
year=Julian1992/1461; //1461定义为四年总时间(考虑每四年一个闰年365*3+366=1461)
xyear=year*4;
//printf("%d\n",xyear);
day=Julian1992%1461;
//printf("%d\n",day);
(day>0)? dayu(day):budayu(day);
printf("体扫开始于 %d年%d月%d日!\n",DisplayYear,DisplayMon,DisplayDay);
}
}
int budayu (int cc) //刚好被1461整除,即为整个四年
{
DisplayYear=xyear+1992;
DisplayMon=12;
DisplayDay=31;
return(0);
}
int dayu (int tt) //不能被1461整除,则要考虑剩余天数以决定是那一年
//考虑到每四年一个闰年
//编程者的思想:每四年分配为 平年+平年+平年+闰年
//以此思想,则每四年的天数分配为365+365+365+366天
//将剩余天数分成四种情况:
//(1)0<tt<=365,即为第一年
//(2)365<tt<=730,即为第二年
//(3)730<tt<=1095,即为第三年
//(4)1095<tt<1461,即为第四年(<1461而非<=1461,当等于是刚好整除,与dayu()重复)
{
//以下为第一年
if(tt>0 && tt<=365)
{
DisplayYear=xyear+1992+1;
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181) //7月
{
DisplayMon=7;
DisplayDay=tt-181;
}
else if(tt>151) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
}
//以下为第二年
if(tt>365 && tt<=730)
{
DisplayYear=xyear+1992+2;
tt=tt-365;
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304 && tt<=334) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273 && tt<=304) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243 && tt<=273) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212 && tt<=243) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181 && tt<=212) //7月
{
DisplayMon=7;
DisplayDay=tt-181-365;
}
else if(tt>151 && tt<=181) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120 && tt<=151) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90 && tt<=120) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59 && tt<=90) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31 && tt<=59) //2月
{
DisplayMon=2;
DisplayDay=tt-31-365;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
}
//以下为第三年
if(tt>730 && tt<=1095)
{
DisplayYear=xyear+1992+3;
tt=tt-365-365;
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181) //7月
{
DisplayMon=7;
DisplayDay=tt-181;
}
else if(tt>151) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
}
//以下为第四年
else if(tt>1095 && tt<1461)
{
DisplayYear=xyear+1992+4;
tt=tt-365-365-365;
if(tt>335) //12月
{
DisplayMon=12;
DisplayDay=tt-335;
}
else if( tt>305) //11月
{
DisplayMon=11;
DisplayDay=tt-305;
}
else if(tt>274) //10月
{
DisplayMon=10;
DisplayDay=tt-274;
}
else if(tt>244) //9月
{
DisplayMon=9;
DisplayDay=tt-244;
}
else if(tt>213) //8月
{
DisplayMon=8;
DisplayDay=tt-213;
}
else if(tt>182) //7月
{
DisplayMon=7;
DisplayDay=tt-182;
}
else if(tt>152) //6月
{
DisplayMon=6;
DisplayDay=tt-152;
}
else if(tt>121) //5月
{
DisplayMon=5;
DisplayDay=tt-121;
}
else if(tt>91) //4月
{
DisplayMon=4;
DisplayDay=tt-91;
}
else if(tt>60) //3月
{
DisplayMon=3;
DisplayDay=tt-60;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
}
return(DisplayYear);
return(DisplayMon);
return(DisplayDay);
}
/*
int Display2(int tt) //闰年
{
DisplayYear=xyear+1992+4;
//switch(tt)
tt=tt-365-365-365;
if(tt>335) //12月
{
DisplayMon=12;
DisplayDay=tt-335;
}
else if( tt>305) //11月
{
DisplayMon=11;
DisplayDay=tt-305;
}
else if(tt>274) //10月
{
DisplayMon=10;
DisplayDay=tt-274;
}
else if(tt>244) //9月
{
DisplayMon=9;
DisplayDay=tt-244;
}
else if(tt>213) //8月
{
DisplayMon=8;
DisplayDay=tt-213;
}
else if(tt>182) //7月
{
DisplayMon=7;
DisplayDay=tt-182;
}
else if(tt>152) //6月
{
DisplayMon=6;
DisplayDay=tt-152;
}
else if(tt>121) //5月
{
DisplayMon=5;
DisplayDay=tt-121;
}
else if(tt>91) //4月
{
DisplayMon=4;
DisplayDay=tt-91;
}
else if(tt>60) //3月
{
DisplayMon=3;
DisplayDay=tt-60;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
return( DisplayYear);
return( DisplayMon );
return( DisplayDay );
}
int Display3(int tt) //平年
{
DisplayYear=xyear+1992+3;
tt=tt-365-365;
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181) //7月
{
DisplayMon=7;
DisplayDay=tt-181;
}
else if(tt>151) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
return(0);
}
int Display4(int tt) //平年
{
DisplayYear=xyear+1992+2;
//switch(tt)
tt=tt-365;
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304 && tt<=334) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273 && tt<=304) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243 && tt<=273) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212 && tt<=243) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181 && tt<=212) //7月
{
DisplayMon=7;
DisplayDay=tt-181-365;
}
else if(tt>151 && tt<=181) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120 && tt<=151) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90 && tt<=120) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59 && tt<=90) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31 && tt<=59) //2月
{
DisplayMon=2;
DisplayDay=tt-31-365;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
return(0);
}
/*
int Display5(int tt) //平年
{
DisplayYear=xyear+1992+1;
//switch(tt)
if(tt>334) //12月
{
DisplayMon=12;
DisplayDay=tt-334;
}
else if(tt>304) //11月
{
DisplayMon=11;
DisplayDay=tt-304;
}
else if(tt>273) //10月
{
DisplayMon=10;
DisplayDay=tt-273;
}
else if(tt>243) //9月
{
DisplayMon=9;
DisplayDay=tt-243;
}
else if(tt>212) //8月
{
DisplayMon=8;
DisplayDay=tt-212;
}
else if(tt>181) //7月
{
DisplayMon=7;
DisplayDay=tt-181;
}
else if(tt>151) //6月
{
DisplayMon=6;
DisplayDay=tt-151;
}
else if(tt>120) //5月
{
DisplayMon=5;
DisplayDay=tt-120;
}
else if(tt>90) //4月
{
DisplayMon=4;
DisplayDay=tt-90;
}
else if(tt>59) //3月
{
DisplayMon=3;
DisplayDay=tt-59;
}
else if(tt>31) //2月
{
DisplayMon=2;
DisplayDay=tt-31;
}
else //1月
{
DisplayMon=1;
DisplayDay=tt;
}
return(0);
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -