下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
#include
#include
#include
#include
int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
int main()
{
int Leap(int );
int Month(int );
void print(int k,int t,int day);
int i,j=0,k,m,n,t=-6;
int day;
int total=1;
printf("请输入年份:");
scanf("%d",&m);
printf("请输入月份:");
scanf("%d",&n);
getchar();
do
{
system("cls");
printf("%d年%d月:\n",n);
total=365*(m-1);
for(i=1;i
if(Leap(i)==1)
total+=1;
for(i=1;i
total=total+Month(i);
day=Month(n);
if(Leap(m)==1 && n==2)
day++;
if(total>1)
total--;
if(total==0)
k=(total+1)%7;
else
k=(total+2)%7;
print(k,t,day);
printf("请选择:");
switch(getch())
{
case '>':
if(n==12)
{
m++;
n=1;
}
else
n++;
break;
case '
if(n==1)
{
m--;
n=12;
}
else
n--;
break;
case '?':
printf("请输入年份:");
scanf("%d",&m);
printf("请输入月份:");
scanf("%d",&n);
break;
case '#':
j=1;
break;
}
if(j==1)
break;
putchar(10);
}while(1);
return 0;
}
int Month(int n)
{
int day;
switch(n)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 2:
day=28;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
default:
printf("您输入的月份有错,请重新输入!\n");
}
return day;
}
int Leap(int m)
{//闰年返回1,否则返回0。
int i=0;
if(m%4==0 && m%100!=0 || m%400==0)
i=1;
return i;
}
void print(int k,int day)
{
FILE *fp;
if((fp=fopen("abc.txt","w"))==0)
{
printf("打开失败\n");
exit(1);
}
int i;
printf("\n日 一 二 三 四 五 六\n");
fprintf(fp,"\n日 一 二 三 四 五 六\n");
printf("-------------------------------------------------------------\n");
fprintf(fp,"---------------------------------------------------------\n");
for(i=1;i<=k;i++)
{
printf(" ");
fprintf(fp," ");
}
for(i=0;i
{
printf("%-8d",a[i]);
fprintf(fp,"%-8d",a[i]);
if(k==6)
{
printf("\n");
printf("-------------------------------------------------------------\n");
fprintf(fp,"\n");
fprintf(fp,"-----------------------------------------------------------\n");
t=0;
}
if(t!=0 && t%7==0)
{
printf("\n");
fprintf(fp,"\n");
printf("-------------------------------------------------------------\n");
fprintf(fp,"-----------------------------------------------------------\n");
}
k++;
t++;
}
printf("\n--------------------------\n");
printf(" 选 项 \n");
printf(" > 下一个月 \n");
printf(" < 上一个月 \n");
printf(" ? 自定义年月 \n");
printf(" # 退出 \n");
printf("--------------------------\n");
fclose(fp);
}
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
总结
以上是编程之家为你收集整理的C语言实现的日历全部内容,希望文章能够帮你解决C语言实现的日历所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!