- UID
- 72737
注册时间2012-3-26
阅读权限8
最后登录1970-1-1
初入江湖
TA的每日心情 | 怒 2017-3-23 16:53 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
#include <stdio.h>
int isN(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
void date(int a,int b,int z)
{
int i=1,j;
for(j=1;j<=b;j++)
{
printf(" ");
}
for(;i<=a;i++)
{
if(i==z)
{
printf(" [%d]",i);
}
else
{
printf(" %5d",i);
}
if((i+b)%7==0)
printf("\n");
}
printf("\n");
}
int howdays(int x,int y,int z)
{
int m=0,i;
if(x>=1979)
{
for(i=1979;i<x;i++)
{
if(isN(i))
m+=366;
else
m+=365;
}
}
switch(y)
{
case 1:m+=0;break;
case 2:m+=31;break;
case 3:m+=59;break;
case 4:m+=90;break;
case 5:m+=120;break;
case 6:m+=151;break;
case 7:m+=181;break;
case 8:m+=212;break;
case 9:m+=243;break;
case 10:m+=273;break;
case 11:m+=304;break;
case 12:m+=334;break;
default:printf("enter data error!\n");
}
if(isN(x)&&y>2)
return m+(z-1)+1;
else
return m+(z-1);
}
int month(int a,int x)
{
if(a==1)
return 31;
if(a==2)
{
if(isN(x))
return 29;
else
return 28;
}
if(a==3)
return 31;
if(a==4)
return 30;
if(a==5)
return 31;
if(a==6)
return 30;
if(a==7)
return 31;
if(a==8)
return 31;
if(a==9)
return 30;
if(a==10)
return 31;
if(a==11)
return 30;
if(a==12)
return 31;
}
int main()
{
int i,b,a,x,y,z;
char c=0;
printf("输入日期 如2012-1-1:");
scanf("%d-%d-%d",&x,&y,&z);
while(c!='q')
{
system("cls");
printf("%d-%d-%d:\n",x,y,z);
if(x>=1979&&y>0&&y<=12&&z>0&&z<=month(y,x))
{
printf(" Mon Tues Wed Thurs Fri Sat Sun\n");
i=howdays(x,y,1);
b=i%7;
a=month(y,x);
date(a,b,z);
printf("q键退出...\n\n方向键上年份+1 方向键下年份-1 方向键右月份+1 方向键左月份-1\n");
printf("a键天数-1 s键天数+1");
c=getch();
if(c==0x48)
{
x++;z=1;
}
if(c==0x50&&x>1979)
{
x--;z=1;
}
if(c==0x4b&&y>1)
{
y--;
z=1;
}
if(c==0x4d&&y<12)
{
y++;
z=1;
}
if(c=='a'&&z>1)
z--;
if(c=='s'&&z<month(y,x))
z++;
}
else
{
printf("输入日期有误,请重新输入:");
scanf("%d-%d-%d",&x,&y,&z);
}
}
return 0;
} |
-
-
万年历.rar
36.99 KB, 下载次数: 0, 下载积分: 飘云币 -2 枚
|