|
楼主 |
发表于 2020-5-3 21:12:52
|
显示全部楼层
- void yearss()
- {
- int leapDay = 0;
- int NowDay = 0;
- int mouthDay = 0;
- int x = 0;
- int count;
- int bools = 0;
- int year = 0;
- int mouth = 0;
- int day = 0;
- printf("please Enter year number: \n");
- scanf("%d",&year);
- getchar();
- printf("please Enter mouth number: \n");
- scanf("%d",&mouth);
- getchar();
- printf("please Enter day number: \n");
- scanf("%d",&day);
- getchar();
- bools = function(year);
- if(bools)
- {
- count = 366;
- x = 29;
- mouthDay = mouthtion(mouth,x,day);
- NowDay = count - mouthDay;
- printf("%d年是闰年哦!\n",year);
- }
- else
- {
- count = 365;
- x = 28;
- mouthDay = mouthtion(mouth,x,day);
- NowDay = count - mouthDay;
- printf("%d年不是闰年哦!\n",year);
- }
- if((mouth == 4)||(mouth ==6)||(mouth == 9)||(mouth == 11))
- {
- leapDay = 30;
- if(day > leapDay)
- error();
- }
- else if(mouth == 2)
- {
- leapDay = x;
- if(day > leapDay)
- {
- error();
- }
- }
- else
- {
- leapDay = 31;
- if(day > leapDay)
- {
- error();
- }
- }
- if(leapDay == day)
- {
- if(mouth == 12)
- printf("这是该年最后一个月的最后一天咯!\n");
- else
- printf("请珍惜该月最后一天\n");
- }
- printf("\n\n\n");
- printf("总结:\n");
- printf(" %d年已经过去%d天,\n该年还剩下%d天,且行且惜!\n",year,mouthDay,NowDay);
- }
- void color(short x)
- {
- if(x>=0 && x<=15)
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
- }
- void error(void)
- {
- printf("您输入的天数与该月不匹配哦!");
- exit(0);
- }
- int mouthtion(int mouth,int x,int day)//mouth -> count day
- {
- int Jan = 0;
- int Feb = 31;//1
- int Mar = 31 + x;//1+2
- int Apr = Mar + 31;//1 + 2 + 3
- int May = Apr + 30;//1 + 2 + 3 + 4
- int Jun = May + 31;
- int Jul = Jun + 30;
- int Aug = Jul + 31;
- int Sep = Aug + 31;
- int Oct = Sep + 30;
- int Nov = Oct + 31;
- int Dec = Nov + 30;
- switch(mouth)
- {
- case 1:
- return Jan + day;
- break;
- case 2:
- return Feb + day;
- break;
- case 3:
- return Mar + day;
- break;
- case 4:
- return Apr + day;
- break;
- case 5:
- return May + day;
- break;
- case 6:
- return Jun + day;
- break;
- case 7:
- return Jul + day;
- break;
- case 8:
- return Aug + day;
- break;
- case 9:
- return Sep + day;
- break;
- case 10:
- return Oct + day;
- break;
- case 11:
- return Nov + day;
- break;
- case 12:
- return Dec + day;
- break;
- default:
- error();
- }
- }
- int function(int year)//leap year
- {
- int x = 0;
- if(year % 4 == 0)
- {
- if(year % 100 != 0){
- return 1;}
- else if(year % 400 ==0){
- return 1;}
- else
- return 0;
- }
- else
- return 0;
- }
复制代码 |
|